我有下面的XSD定義來生成一些jaxb對象。它運作良好。JAXB和澤西島名單解析?
<xsd:element name="Person" type="Person" />
<xsd:complexType name="Person">
<xsd:sequence>
<xsd:element name="Id" type="xsd:int" />
<xsd:element name="firstName" type="xsd:string" />
<xsd:element name="lastName" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
<xsd:element name="People">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Person" minOccurs="0" maxOccurs="unbounded"
type="Person" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
我使用Spring RowMapper將我的數據庫中的行映射到Person對象。所以,我結束 與列表<人>對象,這是不是一個人的對象。我人對象有一個列表<內部的人>。
然後在我的球衣資源類,我有:
@GET
@Path("/TheListOfPeople")
public List<Person> getListOfPeople() {
List<Person> list = dao.getList();
return list;
}
這是返回的XML是:
<?xml version="1.0" encoding="UTF-8" standalone="yes" >
<people>
<Person>...</Person>
<Person>...</Person>
<Person>...</Person>
<Person>...</Person>
</people>
我的問題是它是如何從列表<使得映射到人>到XML中的人。此外,元素是「人」(大寫P)而不是「人」(小寫字母P)。看起來它根本沒有真正使用XSD。
編輯這在某種程度上與此相關的問題:JAXB Collections (List<T>) Use Pascal Case instead of Camel Case for Element Names