2
我不能unmarshall xml,因为不知道如何在另一个对象中注释对象类。请帮忙。对象中的JAXB解组对象
XML:
<?xml version="1.0" encoding="UTF-8"?>
<ODZ xmlns="http://www.company.com/1.0" >
<Data DataID="ZZZ">
<UserData UserKey="user_001">
<UserEvent>...</UserEvent>
</UserData>
</Data>
</ODZ>
容器类: I.第一水平与链接到所述第二(ODZ - >数据)。
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "ODZ", namespace = "http://www.company.com/1.0")
public class ODZContainer {
private ImportContainer importContainer;
@XmlElement (name = "Data", type=ImportContainer.class)
public ImportContainer getImportContainer() {
return importContainer;
}
}
二,第二级链接到第三级(数据 - >用户数据)。
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "Data")
public class ImportContainer {
private String DataID;
private ArrayList<UserDataBean> userDataBean;
@XmlElement (name = "UserData", type=UserDataBean.class)
public ArrayList<UserDataBean> getUserDataBean() {
return userDataBean;
}
@XmlAttribute(name = "DataID")
public String getDataID() {
return DataID;
}
}
三,链接到第四级的第三级(UserData-> UserEvent)。
@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "UserData")
public class UserDataBean {
private ArrayList<UserEventBean> userEventData;
private String userEventID;
@XmlAttribute(name = "UserKey")
public String getUserEventID() {
return userEventID;
}
@XmlElement (name = "UserEvent", type=UserEventBean.class)
public ArrayList<UserEventBean> getUserEventBean() {
return userEventData;
}
}
谢谢你的评论。请回答一个问题。是这样使用:'@XmlElement(name =“Data”,type = ImportContainer.class)'在父类和'@XMLRootElement(name =“Data”)public class ImportContainer {'..在孩子? – AkiraYamaokaNC
谢谢。经过大量的实验,它正在工作! – AkiraYamaokaNC