XmlSerializer的.保持空字符串属性?

use*_*528 7 .net c# xml serialization

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

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

Jür*_*ock 6

你的意思是你想要这个:

<parent>
    <child1>Hello World</child1>
    <child2 />
</parent>
Run Code Online (Sandbox Code Playgroud)

代替

<parent>
    <child1>Hello World</child1>
</parent>
Run Code Online (Sandbox Code Playgroud)

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

public class Parent
{
    [XmlElement("Child1")]
    public string Child1 { get; set; }

    [XmlElement("Child2")]
    public string Child2 { get; set; }

    public bool ShouldSerializeChild2() { return true; }

}
Run Code Online (Sandbox Code Playgroud)