【发布时间】:2011-12-02 02:17:05
【问题描述】:
我如何将(通过 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;
}
a 希望看到这样的 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>
如果我有它的工作原理
class mapping{
@XmlElement(name="item")
A item;
}
我已经尝试过 xmlelementref,但没有成功
我不想使用@XmlElements({@XmlElement ...}),因为使用它的其他项目可以从 A 添加派生类
【问题讨论】:
-
当你说你尝试
@XmlElementRef没有成功,究竟是什么失败了?我用过,效果很好。 -
我已将
@XmlRootElement添加到A、B、C 类,并将@XmlElement更改为@XmlElementRef,但结果只有 -
你有没有想过解决这个问题?我相信我在这里解组集合时遇到了同样的问题。
标签: java xml inheritance mapping jaxb