如何使用JDOM遍历XML模式ref属性

时间:2014-03-14 15:52:07

标签: xml xml-parsing xsd jdom

我正在尝试做一些基于以下XSD的JDOM生成的dom的深度优先遍历。问题是,JDOM构造的树没有考虑'ref'引用。换句话说,根据JDOM树,name ='xs:element'和ref ='BaseData'的元素有0个子节点,因为将它看作另一个XML文件,它确实没有任何子节点。 / p>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="XDEX">
        <xs:annotation>
            <xs:documentation>Version 20 of 2013-08-21</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="BaseData"/> <-- getChildren returns 0 Elements!!
                <xs:element ref="Shipment"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="BaseData">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Mandator"/>
                <xs:element ref="MandatorVATNumber"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Mandator" type="Char3">
        <xs:annotation>
            <xs:documentation>number identifying the current mandator</xs:documentation>
        </xs:annotation>
    </xs:element>

... and so on

我真的需要以跟随引用的方式遍历模式,因此例如使用递归算法(对于深度优先),'Mandator'将在'BaseData'之后直接访问,而不是'发货',就像现在的情况一样。有谁知道如何使用JDOM或者可能是一个不同的库?

谢谢你的到来。

0 个答案:

没有答案