unexpected element (uri:"", local:"Group"). Expected elements are <{}group>
从xml解组时遇到异常
JAXBContext jc = JAXBContext.newInstance(Group.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
Group group = (User)unmarshaller.unmarshal(new File("group.xml"));
Group类没有任何注释,group.xml只包含数据。
什么都有可能是原因?
发布于 2012-08-16 15:27:40
您需要将package-info.java放入生成的jaxb包中。它的内容应该是这样的
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.example.org/StudentOperations/")
package generated.marsh;
发布于 2013-02-13 06:05:39
看了更多之后,根元素必须与一个schema-namespace相关联,Blaise指出。然而,我还没有一个package-info java。因此,在不使用@XMLSchema注释的情况下,我能够通过使用
@XmlRootElement (name="RetrieveMultipleSetsResponse", namespace = XMLCodeTable.NS1)
@XmlType(name = "ns0", namespace = XMLCodeTable.NS1)
@XmlAccessorType(XmlAccessType.NONE)
public class RetrieveMultipleSetsResponse {//...}
希望这能有所帮助!
发布于 2016-05-12 00:07:10
这是对一个很小的用例的修复,但它每次都会让我抓狂。如果您使用的是Eclipse Jaxb生成器,它会创建一个名为package-info的文件。
@javax.xml.bind.annotation.XmlSchema(namespace = "blah.xxx.com/em/feed/v2/CommonFeed")
package xxx.blah.mh.domain.pl3xx.startstop;
如果您删除此文件,它将允许解析更通用的xml。试试看!
https://stackoverflow.com/questions/5203312
复制相似问题