按標題,我有一個XML文件中的元素的變量列表,我需要解組:JAXB編組的同名
<?xml version="1.0"?>
<root>
<wrap>
<Element>something1</Element>
<Element>something2</Element>
<Element>something3</Element>
</wrap>
</root>
「包裝」是一個簡單的包裝,但「元素的數「各不相同。
我有兩個班,以方便對象爲JAXB:
包裝類:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "root")
public class Wrap {
@XmlElementWrapper(name = "wrap")
@XmlElement(name = "Element")
private List<Element> elementList = new ArrayList<>();
public Wrap() {}
public Wrap(List<Element> list) {
this.elementList = list;
}
public void addElement(Element element) {
this.elementList.add(element);
}
public List<Element> getWrap() {
return this.elementList;
}
public void setWrap(List<Element> wrap) {
this.elementList = wrap;
}
}
元素類:但是
@XmlRootElement(name = "Element")
public class Element {
private String Element;
public Element() {}
public Element(String element) {
this.Element = element;
}
public String getElement() {
return Element;
}
public void setElement(String element) {
this.Element = element;
}
}
試圖解組XML完成,沒有錯誤,該元素值不會與元素對象一起存儲。相反,toString爲每個對象返回null。
我沒有用一些數據填充對象並將它們編組爲一個文件(如下所示)。這種格式當然是不正確的,應該與上面的XML匹配。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
<wrap>
<Element>
<element>entry1</element>
</Element>
<Element>
<element>entry2</element>
</Element>
<Element>
<element>entry3</element>
</Element>
</wrap>
</root>
我研究這個與假設我的註釋是不正確的一段時間,現在,但也許是別的東西......
從您的Element類註釋@XmlRootElement(name = 「元素」)。我想在包裝類中@XmlElement(name =「Element」)應該是@XmlElement(name =「element」)。不是嗎? – Helios