簡體   English   中英

.Net Xml 序列化將負號附加到 0

[英].Net Xml serialization appending negative sign to 0

我正在嘗試序列化具有雙值類型屬性的 object,但 output xml 的參數值為“-0”之一。 我正在使用.Net 框架 3.5。

示例代碼:

[Serializable]
[XmlType(AnonymousType = true)]
[XmlRoot(Namespace = "", IsNullable = false)]
Public class Data
{
  [XmlElement(Form = XmlSchemaForm.Unqualified)]
  public double Lateral { get; set;}
}

public class Test
{
   Public static void Main()
   {
       Test t=new Test();
       
       Data data=new Data();
       data.Lateral=0;
       string xml = t.ToXml(data);
       Console.WriteLine(xml);

   }
     Public string ToXml(Data data)
     {
         using (StringWriter stringWriter = new StringWriter())
         {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(Data));
            xmlSerializer.Serialize(stringWriter, data);
            return stringWriter.ToString();
         }
     }
   }
}

Output xml:
<?xml version="1.0" encoding="utf-16"?>
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Lateral>-0</Lateral>
</Data>

有時它會發生雙 0。你可以嘗試一個非常簡單的技巧

public class Data
{
    private double _lateral;

    public double Lateral
    {
        get { return _lateral + 0 ; }
        set { _lateral = value; }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM