如何在XmlWriter上指定自定义格式

时间:2012-01-16 15:06:33

标签: c# .net xml xml-serialization xmlwriter

执行Serialize后,我的XML看起来像

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

我需要一种控制十进制数字形成的方法。不幸的是,我还没有找到解决方案。

1 个答案:

答案 0 :(得分: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);
        }
    }
}