当集合具有不同的XML标记名时,是否有方法实现jaxb通用列表包装类?
我正在使用当集合具有不同的XML标记名时,是否有方法实现jaxb通用列表包装类?,jaxb,jax-ws,Jaxb,Jax Ws,我正在使用XML对象列表表示: <wrapper> <cats> <cat> <name>Oik</name> <age>2</name> <color>white</color> </cat> <cat> <name>Oik</name> <age>2</name>
XML
对象列表表示:
<wrapper>
<cats>
<cat>
<name>Oik</name>
<age>2</name>
<color>white</color>
</cat>
<cat>
<name>Oik</name>
<age>2</name>
<color>black</color>
</cat>
</cats>
</wrapper>
哎呀
2.
白色
哎呀
2.
黑色
及
哎呀
2.
小的
哎呀
2.
大的
当我使用XML表示使用服务时,我尝试创建一个通用类表示,这是我已经拥有的:
@XmlRootElement(name = "wrapper")
@XmlSeeAlso(Category.class)
@XmlAccessorType(XmlAccessType.FIELD)
public class XMLListResponse<T> {
// @XmlElementWrapper("cats")
@XmlAnyElement(lax = true)
@XmlElementRefs({
@XmlElementRef(name = "dogs", type = Dogs.class, required = true),
@XmlElementRef(name = "cats", type = Cats.class, required = true),
})
public List<T> data;
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
}
@XmlRootElement(name=“wrapper”)
@XMLSEEALLO(Category.class)
@XmlAccessorType(XmlAccessType.FIELD)
公共类XMLListResponse{
//@xmlementwrapper(“猫”)
@xmlanyement(lax=true)
@XmlElementRefs({
@xmlementref(name=“dogs”,type=dogs.class,required=true),
@xmlementref(name=“cats”,type=cats.class,required=true),
})
公开名单数据;
公共列表getData(){
返回数据;
}
公共无效设置数据(列表数据){
这个数据=数据;
}
}
它几乎可以工作,只是@xmlementwrapper
只接受一个参数。。。至于其中一个,它不是真正的泛型
请帮忙
@XmlRootElement(name = "wrapper")
@XmlSeeAlso(Category.class)
@XmlAccessorType(XmlAccessType.FIELD)
public class XMLListResponse<T> {
// @XmlElementWrapper("cats")
@XmlAnyElement(lax = true)
@XmlElementRefs({
@XmlElementRef(name = "dogs", type = Dogs.class, required = true),
@XmlElementRef(name = "cats", type = Cats.class, required = true),
})
public List<T> data;
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
}