2012-01-16 48 views
1

執行序列化我的XML看起來像如何指定自定義格式上的XmlWriter

<Prisinfo> 
    <Enhet>kr</Enhet> 
    <Mengde>4.000000</Mengde> 
- <Delmengder> 
- <Delmengde> 
    <Mengde>2.000000</Mengde> 
    <Tekst>tekst</Tekst> 
    <Egenskaper /> 
    </Delmengde> 
    </Delmengder> 
    <Enhetspris>100.000000000000</Enhetspris> 
    <Sum>400.000000000000000000</Sum> 

我需要一種方法來控制小數格式化後。不幸的是,我還沒有找到解決方案。

+0

什麼XML序列化是您使用? – 2012-01-16 15:20:47

+0

對不起,我忘了指定 System.Xml.Serialization.XmlSerializer – qmicron 2012-01-16 15:37:36

回答

0

可以延長帶小數點場的字符串表示你的類格式,因爲你需要與XmlIgnore屬性標記小數領域,例如:

[XmlRoot] 
public class X 
{ 
    [XmlIgnore] 
    public decimal Dec { get; set; } 

    [XmlElement("Dec")] 
    public string DecString 
    { 
     get 
     { 
      return Dec.ToString("F2", CultureInfo.InvariantCulture); 
     } 
     set 
     { 
      Dec = decimal.Parse(value, CultureInfo.InvariantCulture); 
     } 
    } 
}