我需要将从第三方获取的 XML 文件解析为 C# 对象。 我收到的一些 XML 具有枚举值,我想将其存储在枚举类型中。
例如,我有如下xml文件的xsd:
<xsd:simpleType name="brandstof">
<xsd:restriction base="xsd:string">
<!-- Benzine -->
<xsd:enumeration value="B" />
<!-- Diesel -->
<xsd:enumeration value="D" />
<!-- LPG/Gas -->
<xsd:enumeration value="L" />
<!-- LPG G3 -->
<xsd:enumeration value="3" />
<!-- Elektrisch -->
<xsd:enumeration value="E" />
<!-- Hybride -->
<xsd:enumeration value="H" />
<!-- Cryogeen -->
<xsd:enumeration value="C" />
<!-- Overig -->
<xsd:enumeration value="O" />
</xsd:restriction>
</xsd:simpleType>
我想将它映射到一个枚举,我做到了这一点:
public enum Fuel
{
B,
D,
L,
E,
H,
C,
O
}
我遇到的问题是 xml 可以包含 3
的值,我似乎无法将其放入枚举类型中。是否有任何解决方案可以将此值放入枚举中。
我还可以获得其他带有 -
或 /
的值,我想将其放入枚举类型中。
欢迎 Anu 建议!
最佳答案
用 XmlEnum
属性装饰:http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlenumattribute.aspx
public enum Fuel
{
[XmlEnum("B")]
Benzine,
[XmlEnum("D")]
Diesel,
[XmlEnum("L")]
LpgGas,
[XmlEnum("3")]
LpgG3,
[XmlEnum("E")]
Elektrisch,
[XmlEnum("H")]
Hybride,
[XmlEnum("C")]
Cryogeen,
[XmlEnum("O")]
Overig
}
关于c# - 将 xml 值映射到枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6293400/