尝试使用JAXB解组xml文档时,我一直收到以下错误.错误如下:
cvc-elt.1: Cannot find the declaration of element ‘AsifXml’
unmarshall的代码是这样的:
JAXBContext jc = JAXBContext.newInstance("asif_objects"); Unmarshaller u = jc.createUnmarshaller(); SchemaFactory sf = SchemaFactory.newInstance( javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = sf.newSchema(new File("ASIF_Schema1.1.6.xsd")); u.setSchema(schema); AsifXml doc = (AsifXml)u.unmarshal(new FileInputStream("asif_small.xml"));
@H_404_16@我相信xsd文件的相关部分看起来像这样(省略了标签的打开和关闭,因为我不确定如何在网站上格式化它们:
?xml version="1.0" encoding="UTF-8"? xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:asif="http://www.website.com/ASIF" targetNamespace="http://www.website.com/ASIF" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.6" xs:element name="AsifXml" xs:complexType
@H_404_16@而我认为相关的XML就在这里:
AsifXml xmlns:AsifXml="http://www.website.com/ASIF" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1.4" content="study"
@H_404_16@到目前为止,我已经尝试使用谷歌搜索同样的错误,但似乎大多数响应都与我不使用的Web服务中的错误有关.我也想过,也许我在验证时遇到了问题,因为我在代理后面并且无法访问架构文档中给出的url,但是经过进一步的研究,我得到的印象是这些url实际上并不存在验证文件.我尝试了另一个不在代理服务器后面的网络并收到了同样的错误.
非常感谢任何有关此问题的帮助.
最佳答案
原文链接:https://www.f2er.com/java/437766.html