XmlSerializer.保留空字符串属性

本文关键字:属性 字符串 保留 XmlSerializer | 更新日期: 2023-09-27 18:35:15

可能的重复项:
XML 序列化和空值 - C#
更改 XmlSerializer 序列化空元素的方式

如何使 XmlSerializer 为具有 null 值的字符串属性存储空标记,而不是跳过此属性?

XmlSerializer.保留空字符串属性

你的意思是你想要这个:

<parent>
    <child1>Hello World</child1>
    <child2 />
</parent>

而不是

<parent>
    <child1>Hello World</child1>
</parent>

您的类应如下所示:序列化程序按定义(如果存在)调用 ShouldSerializePropertyName 方法,以确定是否应序列化属性(如 Windows 窗体设计器)。

public class Parent
{
    [XmlElement("Child1")]
    public string Child1 { get; set; }
    [XmlElement("Child2")]
    public string Child2 { get; set; }
    public bool ShouldSerializeChild2() { return true; }
}