gpt4 book ai didi

.net - 从 .net 中的 xsd 架构文件中提取枚举值

转载 作者:行者123 更新时间:2023-12-04 23:34:13 26 4
gpt4 key购买 nike

如何使用 .net 以编程方式从 xsd 架构文件中提取元素的枚举约束值?

例如,我想从以下 xsd 中提取“奥迪”、“高尔夫”和“宝马”:

<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

最佳答案

有一个 XmlSchema 类,但它看起来很……“有趣”。

xml 查询就足够了吗?

XmlDocument doc = new XmlDocument();
doc.Load("Foo.xsd");
XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable);
mgr.AddNamespace("xx", "http://www.w3.org/2001/XMLSchema");
foreach (XmlElement el in doc.SelectNodes("//xx:element[@name='car'][1]/xx:simpleType/xx:restriction/xx:enumeration", mgr))
{
Console.WriteLine(el.GetAttribute("value"));
}

关于.net - 从 .net 中的 xsd 架构文件中提取枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787745/

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