0
我的类层次结构拆封类:扩展抽象泛型类
@XmlAccessorType(XmlAccessType.FIELD)
public abstract class GenericItem {
@XmlElement(name = "Id", required = true)
private String itemId;
////other fields
}
@XmlAccessorType(XmlAccessType.FIELD)
public class Item extends GenericItem {
@XmlElement(name = "AreaType", required = true)
private String areaType;
///other fields
}
@XmlAccessorType(XmlAccessType.FIELD)
public abstract class GenericData<T extends GenericItem>{
@XmlElement(name = "Item")
private List<T> itemList;
public List<T> getItemList() {
return itemList;
}
public void setItemList(List<T> itemList) {
this.itemList = itemList;
}
////other fields
}
@XmlRootElement(name = "Data")
@XmlAccessorType(XmlAccessType.FIELD)
public class Data extends GenericData<Item> {
////other fields
}
当我尝试unmarahal XML文档,看起来像
<Data>
<Item/>
<Item/>
</Date>
我有错误javax.xml.bind中。 UnmarshalException - 带有链接的异常: [com.sun.istack.SAXParseException2;无法创建GenericItem的实例]
JAXBContext jc = JAXBContext.newInstance(Data.class, GenericData.class,Item.class, GenericItem.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
--error here--> JAXBElement<Data> jb = unmarshaller.unmarshal(xmlStreamReader, Data.class);
请,我需要帮助:(
删除类GenericItem和GenericData的抽象,然后尝试。 – VinayVeluri