XML序列化和空值 – C#

我有一个对象,我序列化为XML。 如果对象中的某个属性为null,则本机序列化将忽略将其添加为属性。 这是正常行为,如果是这样,有没有办法可以覆盖它?

例如:

public class Test { [XmlAttribute] public string value {set; get; } [XmlAttribute] public string key {set; get; } } 

当值为null时,我得到

    

XmlElement(IsNullable = true)

如果Sunny的答案不适合您,您可以通过实现IXmlSerializable接口来自定义序列化过程

对于某些背景知识,请查看以下ibm文章XML Schema中的null表示

另外,请查看答案。问题序列化一个可空的int可能对您的工作有所帮助。