在不同的地方使用相同的xml元素

时间:2014-11-24 14:49:24

标签: xml jaxb

这样的xml有效吗?

<xml>
    <foo/>
    <foo/>
    <bar/>
    <bar/>
    <foo/>
    <bar/>
</xml>

如果是这样的话,JAXB映射应该如何保持这样的结构?(通过映射我已经创建了所有的foos进入单个列表,与条形图一样);

1 个答案:

答案 0 :(得分:1)

您可以使用@XmlElements

@XmlElements({
    @XmlElement(name="Foo", type=Foo.class),
    @XmlElement(name="Bar", type=Bar.class)
})
public List<Goo> fooOrBar;

这假设FooBar有一个共同的超类Goo。 (在最坏的情况下,它具有共同的超类Object。)

另一种选择是@XmlElementRefs,但这有点复杂。