C# 枚举的XML序列化为空

C# 枚举的XML序列化为空,c#,xml,serialization,enums,xmlserializer,C#,Xml,Serialization,Enums,Xmlserializer,这是XSD生成的枚举 [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")] [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/Utenza.xsd")] public enum MeterType { /// <remarks/&g

这是XSD生成的枚举

[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.42")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/Utenza.xsd")]
public enum MeterType {

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("a diffalco")]
    adiffalco,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("con diffalco")]
    condiffalco,

    /// <remarks/>
    [System.Xml.Serialization.XmlEnumAttribute("di riserva")]
    diriserva,
}
XML输出不包含表示枚举值的属性。
有人能帮忙吗?非常感谢。

您的问题帮助我解决了近10年后我在Enum中遇到的一个问题。你现在可能已经找到答案了。需要为NULL指定一个枚举值,该值将是枚举(0)中的第一个值。然后使用:

[System.Xml.Serialization.XmlEnumAttribute("")] 
作为用于“Null”枚举值的属性。当XmlSerialzer遇到需要tp映射到枚举的XML元素的值null或空字符串时,需要执行此操作


我希望这个答案能帮助任何有类似问题的人。

你的问题帮助我解决了近10年后我在Enum中遇到的一个问题。你现在可能已经找到答案了。需要为NULL指定一个枚举值,该值将是枚举(0)中的第一个值。然后使用:

[System.Xml.Serialization.XmlEnumAttribute("")] 
作为用于“Null”枚举值的属性。当XmlSerialzer遇到需要tp映射到枚举的XML元素的值null或空字符串时,需要执行此操作

我希望这个答案能帮助任何有类似问题的人