我有这个例外: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")
我读了相同问题的答案,但它们不起作用。
答案 0 :(得分:1)
根据您的映射,JAXB期望您的文档看起来如下,其中元素Fid1Instruments
由命名空间http://proba.org/proba
限定。
<ns:Fid1Instruments xmlns:ns="http://proba.org/proba">
...
</ns:Fid1Instruments>
你现在正在传递它:
<Fid1Instruments>
...
</Fid1Instruments>
了解更多信息