JAXB 列表标签创建内部类 [英] JAXB List Tag creating inner class
问题描述
所以我们有一个 XSD 类型的形式:
So we have an XSD type in the form:
<xs:complexType name="Foo">
<xs:all>
<xs:element name="Bars">
<xs:complexType>
<xs:sequence>
<xs:element name="Bar" type="barType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
表示XML:
<Foo>
<!-- Elements snipped for brevity-->
<Bars>
<Bar>
<!-- Bar Element -->
</Bar>
</Bars>
</Foo>
xjc 产生几乎正确的结果.唯一令人讨厌的是,Bars"被创建为一个内部类,它存储了一个 Bars 列表.有没有办法让 Bars 成为 Foo 中的一个列表,同时仍然保留上面的 XML?
xjc produces almost correct results. The only annoying thing is that "Bars" is created as an inner class which stores a list of Bars. Is there anyway to have Bars be a List in Foo while still retaining the XML above?
推荐答案
另一种方法是删除周围的
Another way would be to drop the surrounding <bars> element, the XML does not look so nice anymore, but it would make the java code easier to read. Together with xjc's simple binding (see http://jaxb.java.net/nonav/jaxb20-fcs/docs/vendorCustomizations.html) it will produce quite pretty and usefull java code.
这篇关于JAXB 列表标签创建内部类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!