我有以下架构
<complexType name="BookShelf">
<sequence>
<element name="newBook" type="string" minOccurs="0" maxOccurs="unbounded"/>
<element name="oldBook" type="string" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
XJC 生成带有两个列表的 BookShelf 类,一个用于 newBook,一个用于 oldBook。出色的!
现在我希望书籍以任何顺序出现。所以我将我的架构重写为:
<complexType name="BookShelf">
<sequence>
<choice minOccurs="0" maxOccurs="unbounded">
<element name="newBook" type="string"/>
<element name="oldBook" type="string"/>
</choice>
</sequence>
</complexType>
但是现在 XJC 生成的 BookShelf 只有一个类型为 newBookOrOldBook 的列表List<JAXBElement<String>>
。
我不关心书籍出现的顺序,我想允许 XML 编写器按照他\她希望的任何顺序指定书籍,但我仍然希望每种类型的书籍作为生成的 BookShelf 类中的列表。有什么办法可以做到这一点?