1
我被困在應該非常基本的東西上。 我有一個帶註釋的人員POJO(@XMLAttribute和@XMLElement註釋在字段上)。 該類被註釋爲@XMLRootElement。 現在我有一個服務,執行查詢返回這些實例的列表。換句話說, 我結束了JAXB:註釋實例的編組列表
List<Person>
我只是想元帥這個列表轉換成XML,進入我的servlet的響應輸出。
如果我僅僅通過列表和編組環路中的每個對象單獨:
for(Person person : people){
jaxbMarshaller.marshal(person, out);
}
它整個文檔多次(我結束了多個XML標題行對於每個記錄)輸出:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<name>Bob</name>
</person>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
<name>Gary</name>
</person>
它不應該輸出記錄之間的重複標題行。另一方面,如果我嘗試通過一次調用來整理整個列表: jaxbMarshaller.marshal(people,out);
我得到以下異常:
javax.xml.bind.JAXBException: class java.util.ArrayList nor any of its super class is
known to this context.
什麼是「正確」的方式來簡單地封送註解POJO的多個實例? 我認爲它必須包裹在另一個叫做'people'的'上'根元素中,然後將每個人節點作爲一個孩子。但你怎麼用JAXB做到這一點?
謝謝