如何在XML配置类中打开或关闭属性

本文关键字:属性 XML 配置 | 更新日期: 2023-09-27 18:03:19

我的XML配置文件的一部分是这样的

      <Formatting Mode="Format1">
        <FormatterSettings Range="Range1" Restriction="None" Padding="0" />
      </Formatting>
      <Formatting Mode="Format2">
        <FormatterSettings Range="Range3" Restriction="None" Padding="0" />
      </Formatting>

我的类是这样的

public class Formatting
{
    [XmlAttribute("Mode")]
    public FormatterType Mode { get; set; }
    public FormatterSettings FormatSettings { get; set; }
}

public class FormatterSettings
{
    [XmlAttribute("Range")]
    public CharacterRange CharRange { get; set; }
    [XmlAttribute("Restriction")]
    public CharacterRangeRestriction RestrictRange { get; set; }
    [XmlAttribute("Padding")]
    public int Padding { get; set; }
}

但是我有一个特殊的格式化器只有一个设置所以我需要XML看起来像

      <Formatting Mode="DateFormatter">
        <FormatterSettings DateFormat="yyyyMMdd" />
      </Formatting>

在这种特殊情况下,我的类将是,没有其他设置,但我只想要一个类,如果可能的话。

public class FormatterSettings
{
    [XmlAttribute("DateFormat")]
    public string DateFormat{ get; set; }
}

我该怎么做?

如何在XML配置类中打开或关闭属性

public class FormatterSettings
{
    [XmlAttribute("Range")]
    public CharacterRange CharRange { get; set; }
    [XmlAttribute("Restriction")]
    public CharacterRangeRestriction RestrictRange { get; set; }
    [XmlAttribute("Padding")]
    public int Padding { get; set; }
    [XmlAttribute("DateFormat")]
    public string DateFormat{ get; set; }
}