3
我不需要創建Java對象,因爲我只需要檢查 一些值,但我沒有找到任何解組它們作爲一種通用的 對象或樹或任何。像傑克遜的 JsonNode。如果這是可能的讓我知道,所以我可以避免所有這些混亂 與對象映射的一切。
現在的問題:
我已經來解組一個簡單的XML,但結果總是空。我試過不同的註釋,但如果它們沒有失敗,結果爲空。
這似乎是this question的相同情況,但使用相同的註釋不起作用。
XML是這樣的:
<ServiceList>
<Service Id="1" Code="c" Name="name" ServiceRegistrationStatusID="3" CheckedRegistrationStatusID="2" />
</ServiceList>
,我解組這樣的:
ServiceList list = JAXB.unmarshal(new StringReader(xml), ServiceList.class);
所以我創建了兩個內部類是這樣的:
@XmlRootElement
public static class ServiceList {
private List<Service> services;
public List<Service> getServices() { return services; }
@XmlElementWrapper(name = "ServiceList")
@XmlElement(name = "Service")
public void setServices(List<Service> services) { this.services = services; }
}
@XmlRootElement(name = "Service")
public static class Service {
private String id;
private String code;
private String name;
private String serviceRegistrationStatusID;
private String checkedRegistrationStatusID;
public String getId() {
return id;
}
@XmlAttribute(name = "Id")
public void setId(String id) {
this.id = id;
}
public String getCode() {
return code;
}
@XmlAttribute(name = "Code")
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
@XmlAttribute(name = "Name")
public void setName(String name) {
this.name = name;
}
public String getServiceRegistrationStatusID() {
return serviceRegistrationStatusID;
}
@XmlAttribute(name = "ServiceRegistrationStatusID")
public void setServiceRegistrationStatusID(String serviceRegistrationStatusID) {
this.serviceRegistrationStatusID = serviceRegistrationStatusID;
}
public String getCheckedRegistrationStatusID() {
return checkedRegistrationStatusID;
}
@XmlAttribute(name = "CheckedRegistrationStatusID")
public void setCheckedRegistrationStatusID(String checkedRegistrationStatusID) {
this.checkedRegistrationStatusID = checkedRegistrationStatusID;
}
}
我正在解組靜態方法中的xml,所以我必須將pojos設置爲靜態。
對此有何幫助?
在此先感謝。
簡單而有效!謝謝。 :) – Enrichman 2013-02-11 11:09:10