没有实体类的JAXB XmlElement

时间:2013-07-24 03:49:54

标签: java jaxb marshalling

我想使用JAXB marshaller创建具有这种结构的xml。

<A> 
  <Bs> 
    <B> </B> 
    <B> </B> 
    <B> </B> 
  <Bs>
</A>

我必须使用实体类A和B.

@XmlRootElement
public class A {
    private List<B> b;

    public List<B> getB() {
        return b;
    }

    @XmlElement(name="Bs")
    public void setB(List<B> b) {
        this.b = b;
    }
}

public class B {} 

但是当我初始化A级和marshal时,我得到了

<A>
    <Bs> </Bs> 
    <Bs> </Bs> 
    <Bs> </Bs> 
</A>

如何获得所需的xml结构(请参阅本页的第一个xml)?

1 个答案:

答案 0 :(得分:2)

使用javax.xml.bind.annotation.XmlElementWrapper注释:

@XmlElementWrapper(name = "Bs")
@XmlElement(name="B")
public void setB(List<B> b) {
    this.b = b;
}