【问题标题】:JAXB - How can I return a List of Objects (List<Object>)JAXB - 如何返回对象列表 (List<Object>)
【发布时间】:2016-10-31 15:22:06
【问题描述】:

我有一个问题:

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

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

为此我写了很多函数,现在,作为输出,我有一个List&lt;Object&gt;,我想将它返回到JAXB,并用@XmlAnyElement 标签编组它。

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

对象是从不同包中的不同类生成的。现在,结果,我从JAXB 收到了这个异常:

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

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

【问题讨论】:

  • 异常只是告诉你 XMLAdminLanguage 类在那个 JAXBContext 中是未知的。尝试将其添加到上下文中。
  • 谢谢,我已经通过 @XmlSeeAlso({ClassName1.class,ClassName2.class,...}) 添加了 JAXB 上下文

标签: java xml exception jaxb


【解决方案1】:

解决了问题:

我已通过 @XmlSeeAlso({ClassName1.class,ClassName2.class,...}) 添加了 JAXB 上下文

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2016-09-21
    相关资源
    最近更新 更多