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

时间:2016-02-29 15:39:02

标签: c# xml enums

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

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

在XML中,它的确如下:

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

依旧......

我想让它成为枚举

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

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

2 个答案:

答案 0 :(得分:3)

你可以这样做

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

有关访问msdn的详情。

答案 1 :(得分:3)

您可以使用XmlEnum

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

正确Name使其以您希望的方式显示在XML中。