将 null 值视为空元素的 XmlSerializer

2024-03-11

我正在编写一个小型 C# 应用程序,它需要能够以 XML 形式读取/写入一些配置数据。我通过创建一些简单的模型类来做到这一点,其属性具有XmlElement在需要的地方添加属性,并通过一个XmlSerializer.

我想要XmlSerializer表现得和平常一样,except我希望将序列化对象上的任何 null 属性写入为空元素。 (目前它完全跳过它们。)同样,在反序列化时,我希望它将空元素解释为 null,而不是空字符串。

实现这一目标最直接的方法是什么?我见过的类似情况的建议涉及使用IsNullable论证XmlElement, 创造ShouldSerialize方法等。这必须为每个属性完成,从而创建大量不必要的代码。在这种情况下,我希望它对于我正在序列化(反序列化)的任何内容都是通用的。如果我需要延长XmlSerializer,那很好,我可以接受实施IXmlSerializable关于模型类,但我不完全确定从哪里开始这两种可能的方法。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 null 值视为空元素的 XmlSerializer 的相关文章

随机推荐