我是第一次使用 JAXB,并且有一些我无法更改的非常糟糕的 XML,我想为其生成类。
XML 看起来像这样:
<root>
<contacts>
<name>...</name>
<phone>...</phone>
<address>..</address>
<name>...</name>
<phone>...</phone>
<address>..</address>
<name>...</name>
<phone>...</phone>
<address>..</address>
</contacts>
</root>
所以我想好吧,也许我可以将联系人元素称为一组组。相关部分:
<xs:group name="Contact">
<xs:sequence>
<xs:element name="name" type="xsd:string"/>
<xs:element name="phone" type="xsd:string"/>
<xs:element name="address" type="xsd:string"/>
</xs:sequence>
</xs:group>
<xs:complexType name="ContactList">
<xs:sequence><xs:group maxOccurs="unbounded" ref="Contact"/></xs:sequence>
</xs:complexType>
但是,我的 ContactList 对象只有一个如下所示的 getter:
public List<JAXBElement<?>> getContact()
为什么没有声明 Contact 对象,我该如何解决这个问题?我认为我不能将 Contact 声明为复杂类型,因为它不包含在元素中。
谢谢