小编Pet*_*r K的帖子

JAXB和集合中的继承

我如何映射(通过Java 1.6中的JAXB)集合到XML和XML,在哪里

class mapping{
    @XmlElementWrapper(name="list")
    @XmlElement(name="item")
    Collection<A> list;
}

abstract class A{
}

class B extends A{
    public String onlyB;
}

class C extends A{
    public String onlyC;
}
Run Code Online (Sandbox Code Playgroud)

我希望看到像这样的XML:

<something> (doesnt matter, I'm using it in another structure)
<list>
<item xsi:type="b"><onlyB>b</onlyB></item>
<item xsi:type="c"><onlyC>c</onlyC></item>
</list>
</something>
Run Code Online (Sandbox Code Playgroud)

它的工作,如果我有

class mapping{        
    @XmlElement(name="item")
    A item;
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过xmlelementref,但没有成功

而且我不想使用,@XmlElements({@XmlElement ...})因为正在使用它的其他项目可以从A添加派生类

java xml mapping inheritance jaxb

7
推荐指数
1
解决办法
5159
查看次数

标签 统计

inheritance ×1

java ×1

jaxb ×1

mapping ×1

xml ×1