我正在尝试做一些基于以下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或者可能是一个不同的库?
谢谢你的到来。