【问题标题】:converting an xsd enumeration to enum c #将 xsd 枚举转换为枚举 c#
【发布时间】:2020-08-21 13:53:03
【问题描述】:

在 xsd 文件中,我有一个带有选项 N1 和 N2(如下所示)的类型枚举,通过转换为 ac# 类由枚举类型表示,现在类型枚举中添加了选项 N2.1,不能表示为枚举类型中的选项(不允许点),我该怎么办?

谢谢

<xs:simpleType name="NaturaType">
<xs:restriction base="xs:string">
  <xs:enumeration value="N1">
    <xs:annotation>
      <xs:documentation>Escluse ex. art. 15</xs:documentation>
    </xs:annotation>
  </xs:enumeration>
  <xs:enumeration value="N2">
    <xs:annotation>
      <xs:documentation>Non soggette</xs:documentation>
    </xs:annotation>
  </xs:enumeration>
</xs:restriction>

【问题讨论】:

标签: c# enums xsd enumeration


【解决方案1】:

一种解决方法是使用XmlEnumAttribute

public enum NaturaType
{
    /// <remarks/>
    N1,
    /// <remarks/>
    N2,
    /// <remarks/>
    [XmlEnumAttribute("N2.1")]
    N2_1,
    /// <remarks/>
    [XmlEnumAttribute("N2.2")]
    N2_2,
    /// <remarks/>
    N3,
    ...
}

它用于验证带有 xsd 的 xml。不需要额外的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多