有没有办法在考虑type
,ref
等的情况下将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;。
有这样的方式吗?有些图书馆可能?
如果没有,除了type
和ref
之外,我应该考虑自己编写这种线性化的东西?
答案 0 :(得分:0)
是的,这是可能的。这个实现设计得非常好 - 我自己使用过它:http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.emf.doc%2Ftutorials%2Fxlibmod%2Fxlibmod.html
它基于Eclipse Modeling Framework,但您不必安装所有Eclipse才能使用它。