Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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
Java:Simple XML序列化(Simple-XML-2.6.6.jar)给出了包含<;SOAP-ENV:Body>&&书信电报;SOAP-ENV:信封>;_Java_Android_Web Services_Xml Parsing - Fatal编程技术网

Java:Simple XML序列化(Simple-XML-2.6.6.jar)给出了包含<;SOAP-ENV:Body>&&书信电报;SOAP-ENV:信封>;

Java:Simple XML序列化(Simple-XML-2.6.6.jar)给出了包含<;SOAP-ENV:Body>&&书信电报;SOAP-ENV:信封>;,java,android,web-services,xml-parsing,Java,Android,Web Services,Xml Parsing,我正在使用简单XML序列化(Simple-XML-2.6.6.jar)将XML响应从webservice转换为POJO类。 XML是: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"&g

我正在使用简单XML序列化(Simple-XML-2.6.6.jar)将XML响应从webservice转换为POJO类。 XML是:

 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
      <SOAP-ENV:Body>
         <return>
           <appointments>
             <appointment>
               <encounterId>211707</encounterId>
               <date>2012-10-16</date>
               <startTime>00:00:00</startTime>
               <ufname>Sam</ufname>
               <ulname>Willis</ulname>
               <reason>Chest Congestion</reason>
               <FacilityId>2837</FacilityId>
               <Notes/>
             </appointment>
          </appointments>
        </return>
      </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>
现在,如果我从XML中删除
&
,效果会很好。但是当用这些标记解析XML时,我得到的错误是:

Exception in thread "main" org.simpleframework.xml.core.ElementException: Element 'Body' does not have a match in class pojo.Return at line 3
现在,如果我从XML中删除
&
,效果会很好。但是当用这些标记解析XML时,我得到了一个错误

这就是你的问题所在。简单XML尝试解析您提供给它的整个文档。如果你说:

serializer.read(Appointment.class, yourXML)

XML的根是
,后跟一个
,那么它就不起作用了。您需要创建一个或多个类来封装XML中的
节点。否则,简单的XML将变得混乱,并告诉您它没有看到它期望看到的内容。这就是为什么删除这些元素时它会起作用:因为XML现在看起来和它预期的完全一样。

简单XML
中,有没有办法让
序列化程序从
节点读取,而忽略
节点…?@hemu:没有简单的方法。但您可能会编写一个转换器或手动忽略它的东西。不过,我建议不要这样做。只需创建两个额外的类。没那么糟。
Exception in thread "main" org.simpleframework.xml.core.ElementException: Element 'Body' does not have a match in class pojo.Return at line 3
serializer.read(Appointment.class, yourXML)