gpt4 book ai didi

c# - 如何在 xsd 中使用枚举

转载 作者:数据小太阳 更新时间:2023-10-29 02:41:02 25 4
gpt4 key购买 nike

我有一个包含许多文章详细信息的 xml 文件。

到目前为止,我已经创建了 XML 和 XSD - 这是 XSD:

  <xs:simpleType name="ArticleKey">
<xs:restriction base="xs:string">
<xs:enumeration value="Key1" />
<xs:enumeration value="Key2" />
</xs:restriction>
</xs:simpleType>
<xs:element name="Articles">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Article">
<xs:complexType>
<xs:sequence>
<xs:element name="Key" type="ArticleKey" />
<xs:element name="Title" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

我还手动创建了类对象:

public class Article
{
public ArticleKey Key { get; set; }

public string Title { get; set; }
}

为了做到这一点,我还必须像这样单独创建枚举“ArticleKey”:

public enum ArticleKey
{
Key1,
Key2
}

但是,这显然会导致在 XSD 中维护重复枚举值并将其作为独立枚举。

有没有一种方法可以将两者联系起来并避免维护问题,或者这是否尽可能简单?

最佳答案

如果您单独维护它们,那么我认为这已经很好了。

然而,作为替代方法,您能否从您的 c# 类生成所有 xsd,从而消除所有重复工作。

您可以使用 xsd.exe 执行此操作(从您的 VS 安装)。这SO question更全面地涵盖了它。

关于c# - 如何在 xsd 中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19424610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com