我喜欢解析下面的对象,没有任何问题:如何使用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