XmlSerializer将空值视为空元素

时间:2017-12-13 16:26:15

标签: c# .net xml

我正在编写一个小型C#应用程序,它需要能够以XML格式读取/写入一些配置数据。我这样做是通过创建一些简单的模型类,其中包含需要XmlElement属性的属性,并通过XmlSerializer运行整个事物。

我希望XmlSerializer的行为与通常的一样,除了我希望序列化对象上的任何null属性都被写为空元素。 (目前它完全跳过它们。)同样,在反序列化时,我希望它将空元素解释为null,而不是空字符串。

实现这一目标最直接的方法是什么?我在类似情况下看到的建议涉及使用IsNullable的{​​{1}}参数,创建XmlElement方法等。必须为每个属性执行此操作,从而创建大量不必要的代码。在这种情况下,我希望它对于我(de)序列化的任何东西都是通用的。如果我需要扩展ShouldSerialize,那很好,我可以在模型类上实现XmlSerializer,但我不完全确定从哪两个可能的方法开始。

0 个答案:

没有答案