作为xsd和jaxb的初学者,我非常坚持这个,即使在网上查找,也没有类似的东西:
我想在我的程序中使用jaxb来编写xsd,以便用我的类代表一个手风琴:
@XmlRootElement(name = "div")
@XmlType(propOrder = { "h3", "div" })
public class Accordion {
String id;
public String getId() {
return id;
}
@XmlAttribute
public void setId(String id) {
this.id = id;
}
String h3;
public String getH3() {
return h3;
}
@XmlElement
public void setH3(String h3) {
this.h3 = h3;
}
String div;
public String getDiv() {
return div;
}
@XmlElement
public void setDiv(String div) {
this.div = div;
}}
在编组对象时:结果如下:
<div id="title 25">
<h3>hi1</h3>
<div>div content</div>
</div>
现在问题是我希望在div中重复h3和div,类似这样:
<div id="title 25">
<h3>hi1</h3>
<div>div content</div>
<h3>hi2</h3>
<div>div content 2</div>
...
</div>
有什么想法吗?
答案 0 :(得分:1)
您可以获取所需的XML,只需将模型更改为以下内容并利用@XmlElementRefs
/ @XmlElementRef
。
@XmlElementRefs({
@XmlElementRef(name="h3", type=JAXBElement.class),
@XmlElementRef(name="div", type=JAXBElement.class)
})
public List<JAXBElement<String>> getH3AndDiv() {
return h3AndDiv;
}
完整示例