我有商店列表的xml。每个商店都有节点。在其中一些中,这是浮点数,在某些中它是空节点。所以它看起来像这样:
<shops>
<shop>
<lat>123.123</lat>
<lon>123.123</lon>
</shop>
<shop>
<lat null="true"/>
<lon null="true"/>
</shop>
</shops>
我的类反序列化这个xml就像那样
[XmlRoot("shops")]
public class ShopList
{
[XmlElement("shop")]
public Shop[] ShopArray { get; set; }
public class Shop
{
[XmlElement("lat", IsNullable = true)]
public float? Latitude { get; set; }
[XmlElement(ElementName="lon", IsNullable=true)]
public float? Longitude { get; set; }
}
}
但是当我反序列化xml时,我得到了错误。你有任何线索吗?
答案 0 :(得分:0)
public bool DataSpecified
{
get { return !String.IsNullOrEmpty(Data); }
set { return; } //The serializer requires a setter
}
您应该尝试something like this
答案 1 :(得分:-1)
我认为您的元素中不应包含null="true"
,而应该xsi:nil="true"
<shops>
<shop>
<lat>123.123</lat>
<lon>123.123</lon>
</shop>
<shop>
<lat xsi:nil="true"/>
<lon xsi:nil="true"/>
</shop>
</shops>