【发布时间】:2014-06-19 12:33:09
【问题描述】:
我使用 Visual Studio 2013 的“将 XML 粘贴为类”功能从 XML 创建了类。我正在反序列化 xml。如果我在 xml 中得到一个空白节点,在空白 xml 节点的情况下,我将类的相应变量作为“{object}”而不是 null:
<ADDRESS>
<LINE1>30 John Islip Street</LINE1>
<LINE2 />
<LINE3 />
<LINE4 />
</ADDRESS>
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class ADDRESS
{
/// <remarks/>
public string LINE1{get;set;}
/// <remarks/>
public object LINE2{get;set;}
/// <remarks/>
public object LINE3{get;set;}
/// <remarks/>
public object LINE4{get;set;}
}
反序列化代码:
var reader = new StringReader(xmlString);
var serializer = new XmlSerializer(typeof(ADDRESS));
var instance = (ADDRESS)serializer.Deserialize(reader);
对于字段 LINE2、LINE3、LINE4,我们将值作为“{object}”而不是 null。
【问题讨论】:
标签: c# xml serialization deserialization