当使用NIST CPE的标准CPE 2.3 XML模式定义时,我得到了一个“意外元素”错误。
返回带有此错误的JAXBExcture:
unexpected element (uri:"", local:"head"). Expected elements are <{http://cpe.mitre.org/dictionary/2.0}cpe-item>,<{http://cpe.mitre.org/dictionary/2.0}cpe-list>
笔记:
解组代码非常简单:
URL url = new URL("http://static.nvd.nist.gov/feeds/xml/cpe/dictionary/official-cpe-dictionary_v2.3.xml");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
InputStream plainXMLCPE = connection.getInputStream();
JAXBContext jaxbContext = JAXBContext.newInstance(ListType.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
JAXBElement<ListType> cpeList = (JAXBElement<ListType>) jaxbUnmarshaller.unmarshal(plainXMLCPE);
ListType thelist = cpeList.getValue();
与类似问题不同;我不认为这是元素名的大小写问题,因为元素名“head”根本不出现在任何地方。我不完全理解为什么uri在错误消息中被标记为“”。
我试图手动将@XmlRootElement注释添加到JaxB创建的类中,但没有效果。它自动创建了一个包信息。具有正确名称空间的java。
这里似乎有两个问题:
答案是1。可能是您从浏览器中错误地保存了XSD,导致额外的HTML
例如,在火狐中,当你做文件-
如果你打开你以为正在保存的XSD并仔细查看,你会在本地副本中看到一个标记。
所以这很容易解决。我知道IE也有类似的选择,而且最近没有检查Chrome。
至于2。,不过,我不确定您是如何成功地完成JAXB生成的。我只是尝试过几次(使用EclipseLink MOXy)重新创建它,但我用
如果您回答如何从Eclipse配置JAXB,我可以提供帮助,我将尝试更新我的答案。
在使用标准CPE2.3XML模式定义处理NIST CPE时,我收到一个“意外元素”错误。 返回包含此错误的JAXBException: 我的问题是:这个错误意味着什么? 有什么解决方法吗? 备注: null 不同于类似的问题;我不认为这是一个元素名的大小写问题,因为元素名“head”根本没有出现在任何地方。我不完全理解为什么在错误消息中将uri标记为“”。 我尝试手动将@XMLRootElemen
问题内容: 从xml解组时遇到异常 组类没有任何注释,而group.xml仅包含数据。 有什么原因吗? 问题答案: 看起来您的XML文档具有根元素“ Group”而不是“ group”。您可以: 将XML上的根元素更改为“ group” 将注释@XmlRootElement(name =“ Group”)添加到Group类。
从xml反编组时遇到异常 } 我为systemUnit类添加了注释@xmlRootelement(name=“systemUnit”)。 有人能帮我解决这个问题吗
嗨,我已经使用wsimport从WSDL生成了java类,但是我已经将响应写到了一个文件*.xml中。但是现在我想读取这个xml文件并填充已经生成的java类。 我试过: XML如下所示: 或者我能做什么?
你可以在这个网站找到很多这样的问题,但没有一个解决了我的问题。 这是我的XML: 我已经使用XJC编译器创建了Jaxb类,创建的文件如下所示:
重要提示:我想说明我已经读过javax.xml.bind.UnmarshalException:意外元素。预期的元素是(无),并尝试了建议的解决方案,但没有成功。 我尝试将反序列化为用生成的类。这是代码: 这是一个错误: UnMarshalException:意外元素(URI:“”,local:“id”)。所需元素为(无) 这是原始的: 我使用的是8(Azul ZuluFx 8.0.202)和2.