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

C# 如何在XmlWriter上指定自定义格式,c#,.net,xml,xml-serialization,xmlwriter,C#,.net,Xml,Xml Serialization,Xmlwriter,执行序列化后,我的XML如下所示 <Prisinfo> <Enhet>kr</Enhet> <Mengde>4.000000</Mengde> - <Delmengder> - <Delmengde> <Mengde>2.000000</Mengde> <Tekst>tekst</Tekst> <Egenskaper />

执行序列化后,我的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>

韩元
4
- 
- 
2
特克斯特
100
400.000000000000000000

我需要一种方法来控制十进制数的格式。很遗憾,我还没有找到解决方案。

您可以根据需要使用十进制字段的字符串表示形式扩展类,并使用
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);
        }
    }
}

您使用的是什么XML序列化程序?很抱歉,我忘记指定System.XML.Serialization.XmlSerializer