Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#XML序列化-浮点或空元素_C#_Xml Serialization - Fatal编程技术网

C#XML序列化-浮点或空元素

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"/> &

我有xml和商店列表。每一个商店都有两个节点。在某些情况下,这是float,而在某些情况下,这是空节点。看起来是这样的:

<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
}