【发布时间】:2016-10-31 15:22:06
【问题描述】:
我有一个问题:
我需要不同对象的List,以保证正确处理。
在 XML 文件中,我需要元素的特定顺序。 JAXB 的标准是元素按字母顺序排列,但我需要它们按照它们添加的顺序。
为此我写了很多函数,现在,作为输出,我有一个List<Object>,我想将它返回到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 上下文