【问题标题】:How to specify the custom formatting on the XmlWriter如何在 XmlWriter 上指定自定义格式
【发布时间】:2012-01-16 15:06:33
【问题描述】:

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

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

【问题讨论】:

  • 您使用的是什么 XML 序列化程序?
  • 对不起,我忘了指定 System.Xml.Serialization.XmlSerializer

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 2013-06-14
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    相关资源
    最近更新 更多