【发布时间】:2011-05-11 10:07:09
【问题描述】:
有没有办法让 JAXB 为已定义的元素生成 Collection Set 而不是 List?
例如为这个 xsd 生成一套书:
<xs:element name="Collection">
<xs:complexType>
<xs:sequence>
<xs:element name ="books">
<xs:complexType>
<xs:sequence>
<xs:element name="book" type="bookType" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
使用以下 bindings.xml 时
<jxb:bindings schemaLocation="schema.xsd">
<jxb:bindings node="//xs:element[@name='Shop']/xs:complexType/xs:sequence/xs:element[@name='books']">
<jxb:property collectionType="java.util.HashSet" />
</jxb:bindings>
</jxb:bindings>
生成具有具体 HashSet 实现的书籍列表:
List<Book> books = new HashSet<Book>();
【问题讨论】: