意外元素(uri:“”,local:“Fid1Instruments”)。预期的要素是< {http://proba.org/proba} Fid1Instruments>

时间:2013-11-19 13:41:45

标签: java namespaces jaxb

我有这个例外:unexpected element (uri:"", local:"Fid1Instruments"). Expected elements are <{http://proba.org/proba}Fid1Instruments>

我有package-info.java文件:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://proba.org/proba")
package com.enum1.instruments;

在主要课程中我这样做:

JAXBContext jx = JAXBContext.newInstance(Fid1Instruments.class);
Unmarshaller u = jx.createUnmarshaller();
JAXBElement<?>  ue= (JAXBElement<?>) u.unmarshal(new File("ex1.xml"));

在生成的java文件中:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "fid1Bond"
})
@XmlRootElement(name = "Fid1Instruments", namespace="http://proba.org/proba")

我读了相同问题的答案,但它们不起作用。

1 个答案:

答案 0 :(得分:1)

根据您的映射,JAXB期望您的文档看起来如下,其中元素Fid1Instruments由命名空间http://proba.org/proba限定。

<ns:Fid1Instruments xmlns:ns="http://proba.org/proba">
    ...
</ns:Fid1Instruments>

你现在正在传递它:

<Fid1Instruments>
    ...
</Fid1Instruments>

了解更多信息