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