如何将枚举序列化为 XML 文本

本文关键字:XML 文本 序列化 枚举 | 更新日期: 2023-09-27 18:36:47

我目前在我的可服务类中有下一个字段:

[DataMember]
[XmlElement(DataType = "string")]
public string Type {get;set;}

在 XML 中,它被丝状化,如下所示:

<Type>Type1</Type>
<Type>Type2</Type>

等等...

我希望它是枚举

public enum MyType
{
Type1,
Type2,
...
}

但是我怎样才能像简单字符串一样序列化它呢?甚至可能吗?

如何将枚举序列化为 XML 文本

你可以这样做

  public enum EmployeeStatus
    {
       [XmlEnum(Name = "Single")]
       One,
       [XmlEnum(Name = "Double")]
       Two,
       [XmlEnum(Name = "Triple")]
       Three
    }

有关访问 MSDN 的更多信息。

您可以使用

XmlEnum 装饰您的enum元素:

public enum MyType
{
    [XmlEnum(Name="Type1")]
    Type1,
    [XmlEnum(Name="Type2")]
    Type2,
    ...
}

提供适当的Name,使其以您想要的方式显示在 XML 中。