JAXB - 如何返回对象列表(List <object>)

时间:2016-10-31 15:22:07

标签: java xml exception jaxb

我遇到了问题:

我需要List个不同的对象,以保证正确的处理。

在XML文件中,我需要元素的特定顺序。 JAXB的标准是元素按字母顺序排序,但我按照它们添加的顺序需要它们。

为此,我编写了很多函数,现在,作为输出,我有一个List<Object>,我希望返回JAXB并使用@XmlAnyElement标记对其进行编组。

@XmlAnyElement
private List<Object> getJAXBElements() {
    return list;
}

对象是从不同包中的不同类生成的。现在,结果是,我从JAXB获得此异常:

  

[com.sun.istack.internal.SAXException2:Weder class   objects.xml.adminlanguage.XMLAdminLanguage noch einederzugehörigen   Superklassen ist diesem Kontext bekannt。       at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(Unknown)   资源)       at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(Unknown   资源)       在javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(未知来源)

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

解决了问题:

我通过@XmlSeeAlso({ClassName1.class,ClassName2.class,...})

添加了JAXB上下文

您也可以在Red Hat JBoss Fuse - @XmlSeeAlso Tag

阅读