Pat*_*ick 4 c# xml null serialization xml-nil
当我使用可空的DateTime序列化ac#对象时,有没有办法将空值保留在xml文件之外而不是
<EndDate d2p1:nil="true" xmlns:d2p1="http://www.w3.org/2001/XMLSchema-instance" />
Run Code Online (Sandbox Code Playgroud)
您可以使用Specified扩展属性省略空值(或任何其他值).基本上,创建另一个与序列化属性同名的属性,并将单词Specified作为布尔值添加到末尾.如果Specified属性是true,则它所控制的属性是序列化的.否则,如果是false,则其他属性完全不在xml文件中:
[XmlElement("EndDate")]
public DateTime? EndDate { get; set; }
[XmlIgnore]
public bool EndDateSpecified { get {
return (EndDate != null && EndDate.HasValue); } }
Run Code Online (Sandbox Code Playgroud)