C#XML序列化-浮点或空元素
我有xml和商店列表。每一个商店都有两个节点。在某些情况下,这是float,而在某些情况下,这是空节点。看起来是这样的:C#XML序列化-浮点或空元素,c#,xml-serialization,C#,Xml Serialization,我有xml和商店列表。每一个商店都有两个节点。在某些情况下,这是float,而在某些情况下,这是空节点。看起来是这样的: <shops> <shop> <lat>123.123</lat> <lon>123.123</lon> </shop> <shop> <lat null="true"/> <lon null="true"/> &
<shops>
<shop>
<lat>123.123</lat>
<lon>123.123</lon>
</shop>
<shop>
<lat null="true"/>
<lon null="true"/>
</shop>
</shops>
但当我反序列化xml时,我得到了一个错误。你有什么线索吗?我认为元素中不应该有
null=“true”
,而应该有xsi:nil=“true”
123.123
123.123
您应该试试看嗨,欢迎来到SO。你能说得更具体些吗。错误是什么?
[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; }
}
}
<shops>
<shop>
<lat>123.123</lat>
<lon>123.123</lon>
</shop>
<shop>
<lat xsi:nil="true"/>
<lon xsi:nil="true"/>
</shop>
</shops>
public bool DataSpecified
{
get { return !String.IsNullOrEmpty(Data); }
set { return; } //The serializer requires a setter
}