我喜歡解析下面的對象,沒有任何問題:如何使用JAXB解析Java中的嵌套XML對象列表?
<response>
<myObject>
<id>1</id>
<name>abc</name>
</myObject>
<myObject>
<id>2</id>
<name>def</name>
</myObject>
</response>
,像這樣一類:
@XmlRootElement(name="myObject")
public class MyObject{
@XmlElement(name="id")
long id;
@XmlElement(name="name")
String name;
/* getters and setters ... etc.. */
}
這工作得很好,我的API調用我得到儘可能的MyObjects
列表預期。 但我要如何處理這種類型的反應:
<response>
<objectWrapper>
<myObject>
<id>1</id>
<name>abc</name>
</myObject>
<myObject>
<id>2</id>
<name>def</name>
</myObject>
</objectWrapper>
</response>
起初我還以爲建立一個ObjectWrapper
類會做的伎倆,就像這樣:
@XmlRootElement(name="objectWrapper")
public class ObjectWrapper{
@XmlElement(name="myObject")
List<MyObject> myObject;
/* getters and setters ... etc.. */
}
後來我想過用@XmlElementWrapper
太多,但怎麼樣? 我可以直接從班級中刪除@XmlRootElement
,並且可以從列表中刪除@XmlElementWrapper
?
編輯:不,我不能刪除@XmlRootElement
不'ObjectWrapper'工作中的解決方案?在'ObjectWrapper'和'MyObject'中都有'@ XmlRootElement'沒有問題。 – Berger