在树视图中按XML外观顺序显示XML模式元素

时间:2011-07-21 15:25:48

标签: c# xsd

我需要在树视图中显示XSD文件。我已经为此here找到了一个解决方案!但是这只是按照它们出现的顺序显示文件中的所有节点。
我需要的是按照它们在XML文件中出现的顺序显示它们,并嵌套在它们将嵌套在XML文件中的元素下:

<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="cat" type="xs:string"/>
    <xs:element name="dog" type="xs:string"/>

    <xs:element name="pets">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="cat"/>
          <xs:element ref="dog"/>
        </xs:choice>
      </xs:complexType>
    </xs:element>
</xs:schema>

会显示如下:

-Pets
 -Dogs
 -Cats

如何识别根节点?我想,一旦我得到它,我可以递归到根元素中的每种类型以找到它的名字 我正在看这个XSD specifically!我应该从名为'Document'的元素开始吗?它包含此类文件中的2个顶级元素 - 'GrpHdr'和'OrgnlGrpIn​​fAndSts'。

这是解决这类问题的标准方法吗?

1 个答案:

答案 0 :(得分:0)

显然没有,因为XSD可能包含多于1个根元素。