【发布时间】:2011-12-05 22:44:31
【问题描述】:
我有一个 XML 架构,其中包含使用 <xs:union> 和 <xs:list> 的数据类型。以下是摘录:
<xs:simpleType name="mixeduniontype">
<xs:union memberTypes="xs:boolean xs:int xs:double xs:string"/>
</xs:simpleType>
<xs:simpleType name="valuelist">
<xs:list itemType="xs:double"/>
</xs:simpleType>
这是一个示例 XML 片段:
<value>42</value>
<value>hello</value>
<values>1 2 3.2 5.6</values>
上面的两个<value>元素是联合,下面的<values>元素是一个列表。
我的问题是,如何在 .NET 中解析 <xs:union> 和 <xs:list> 元素?
如何检查联合元素中的值具有哪种数据类型?
如何提取列表元素中的元素并将它们转换为 C# 列表?
System.XML 中是否有内置支持这种解析,还是需要我自己编写解析代码?
【问题讨论】:
-
您是否考虑过使用
xsd.exe从模式生成类? -
使用 XmlDocument.GetElementsByTagName