没有元素{http://www.xbrl.org/2003/linkbase}footnoteLink带有@XmlElementDecl的ObjectFactory。

时间:2019-03-21 08:11:00

标签: xml spring-boot xsd jaxb marshalling

嗨,当我想用​​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();
    }

我必须在几周内完成这个项目 谢谢任何帮助

1 个答案:

答案 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 时,此上下文问题也不知道其任何超类