从XSD获取完整的XML结构

时间:2015-11-11 18:31:35

标签: java xml xsd

有没有办法在考虑typeref等的情况下将XML架构转换为Java对象树?我的意思是,拿这个

<xs:element name="root">
  <xs:complexType>
    <xs:sequence maxOccurs="unbounded">
      <xs:element name="elem" type="type1">
    </xs:all>
  </xs:complexType>
</xs:element>

<xs:complexType name="type1">
  <xs:sequence>
    <xs:element name="A" type="xs:string"/>
    <xs:element name="B" type="xs:string"/>
    <xs:element name="C" type="xs:string"/>
    <xs:any minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

并创建一个树:根元素&#34; root&#34;带着孩子&#34; elem&#34; (标有min和maxOccurs)。 &#34; ELEM&#34;还有孩子&#34; A&#34;,&#34; B&#34;,&#34; C&#34;和&#34;任何&#34;。

有这样的方式吗?有些图书馆可能? 如果没有,除了typeref之外,我应该考虑自己编写这种线性化的东西?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。这个实现设计得非常好 - 我自己使用过它:http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.emf.doc%2Ftutorials%2Fxlibmod%2Fxlibmod.html

它基于Eclipse Modeling Framework,但您不必安装所有Eclipse才能使用它。