Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将xml文档解组为Java对象(jaxb)时出现问题_Xml_Jaxb_Xml Namespaces_Unmarshalling - Fatal编程技术网

将xml文档解组为Java对象(jaxb)时出现问题

将xml文档解组为Java对象(jaxb)时出现问题,xml,jaxb,xml-namespaces,unmarshalling,Xml,Jaxb,Xml Namespaces,Unmarshalling,我使用xjc从XSD创建java对象 现在我尝试将xml文档解组到java对象,但我得到: javax.xml.bind.UnmarshaleException:意外元素(uri:),本地:“GlobalComponentInformation 这里有吗 编辑: 我正在传递一个org.w3c.dom.Document对象,它是从web服务调用(AxisWeb服务)返回的 注意,从ws返回的要在此处解析的文档对象包含以下根元素: <GlobalInformationResponseDocum

我使用xjc从XSD创建java对象

现在我尝试将xml文档解组到java对象,但我得到:

javax.xml.bind.UnmarshaleException:意外元素(uri:),本地:“GlobalComponentInformation

这里有吗

编辑:

我正在传递一个org.w3c.dom.Document对象,它是从web服务调用(AxisWeb服务)返回的

注意,从ws返回的要在此处解析的文档对象包含以下根元素:

<GlobalInformationResponseDocument xmlns="" />
套餐信息:

@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.mycompany.com/GlobalInformationResponseExt", 
        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.company.jaxb.client;

从web服务类接收的根元素:

<GlobalInformationResponseDocument xmlns="" />

您需要修复XML文档,或者更改JAXB映射以匹配文档。在这种情况下,请删除包信息。

从web服务类接收的根元素:

<GlobalInformationResponseDocument xmlns="" />

您将需要修复XML文档,或者更改JAXB映射以匹配文档。在这种情况下,请删除包信息。

根类上的@XmlRootElement是什么样子的?包信息类是什么样子的(如果有)?以及您正在解组的XML输入类型(流、DOM等)?GlobalComponentInformation从何而来?它可能在解析的XML响应中返回?您没有在XSD中定义它吗?根类上的@XmlRootElement是什么样子的?包信息类是什么样子的(如果有)?还有您正在解组的XML输入类型(流、DOM等)?GlobalComponent信息从何而来?它可能在解析的XML响应中返回?您没有在XSD中定义它吗?我确实更改了XML文档,然后传递给JAXB封送处理对象,该对象不接受修改的对象,除非我将文档转换为字符串,然后再转换为文档!当您更改了xml文档“?由于将文档转换为字符串并返回到文档是有效的,我假设您的更改没有正确地解决名称空间不匹配的问题。我确实更改了xml文档,然后传递到JAXB封送处理对象,该对象不接受修改的对象,除非我将文档转换为字符串,然后再转换为文档!当您“更改了xml文档”?由于将文档转换为字符串并返回到文档是有效的,我假设您的更改没有正确地解决名称空间不匹配的问题。
<GlobalInformationResponseDocument xmlns="http://www.mycompany.com/GlobalInformationResponseExt" />
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.mycompany.com/GlobalInformationResponseExt", 
        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.company.jaxb.client;