嗨,当我想用jaxb从Java对象创建xml时,我收到此错误消息,
javax.xml.bind.JAXBException:无法实例化提供程序com.sun.xml.bind.v2.ContextFactory:com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:1个IllegalAnnotationExceptions计数 没有元素{http://www.xbrl.org/2003/linkbase} footnoteLink带有@XmlElementDecl的ObjectFactory。 此问题与以下位置有关: 在受保护的java.util.List org.xbrl._2003.instance.Xbrl.itemOrTupleOrContext 在org.xbrl._2003.instance.Xbrl 在受保护的org.xbrl._2003.instance.Xbrl tr.gov.edefter.Berat.xbrl 在tr.gov.edefter.Berat 在公共tr.gov.edefter.Berat上tr.gov.edefter.ObjectFactory.createBerat() 在tr.gov.edefter.ObjectFactory
这是我的代码,
JAXBContext jaxbContext = null;
try {
jaxbContext = JAXBContext.newInstance("tr.gov.edefter");
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // To format XML
// Print XML String to Console
jaxbMarshaller.marshal(defter, System.out);
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我必须在几周内完成这个项目 谢谢任何帮助
答案 0 :(得分:0)
private static final Class<?>[] FILING_TYPES = new Class[] {
Defter.class,
Xbrl.class,
org.xbrl._2003.linkbase.Linkbase.class,
org.xbrl._2003.instance.ObjectFactory.class,
org.xbrl._2003.linkbase.FootnoteLink.class,
};
JAXBContext context = JAXBContext.newInstance(FILING_TYPES);
有效。
但是当设置 Xbrl itemOrTupleOrContext 具有 java.util.ArrayList 时,此上下文问题也不知道其任何超类