Android Webservice返回包含转义XML的SoapPrimitive

Android Webservice返回包含转义XML的SoapPrimitive,android,xml,soap,ksoap2,Android,Xml,Soap,Ksoap2,我遇到了一个WS,它返回一个SoapPrimitive,其中包含原始XML作为字符串。正如您在这个示例响应中所看到的,ResultXML元素的内容是一个字符串,它本身就是某种转义的XML <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSc

我遇到了一个WS,它返回一个SoapPrimitive,其中包含原始XML作为字符串。正如您在这个示例响应中所看到的,ResultXML元素的内容是一个字符串,它本身就是某种转义的XML

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetJourneyPathResponse xmlns="http://www.etis.fskab.se/v1.0/ETISws"><GetJourneyPathResult><Code>0</Code><Message /><ResultXML>&lt;Part&gt;&lt;From&gt;&lt;Id&gt;254197...
通常我会这样做

SoapObject soapObject = (SoapObject) response.getProperty("EndPoints");
但在这种情况下,它不起作用(classcastexception)。这是因为(我认为)KSOAP将结果视为字符串原语,而不是复杂对象。所以我倒是这样做了

SoapPrimitive Partsp = (SoapPrimitive) response.getProperty("ResultXML");
这是可行的,我现在可以访问字符串中的XML。但是接下来呢

我更愿意将XML字符串转换成SoapObject,这样我就可以继续我的工作了。可能吗

这种SOAP响应在我看来似乎有点糟糕,但我对此无能为力


彼得

你是如何得到回应的?您是否尝试过调试以查看响应的外观。这确实很奇怪,而且不应该是这样。

这是一个5口之家的一个。另外3个我正在使用return-SoapObjects,一切都很好。我没有做任何不同的时候调用此WS。第二种想法是,试图将XML字符串转换为SoapObject可能是个坏主意。XML包含许多组成路线的坐标。我可能只是想解析字符串。我在Java中没有这方面的任何经验,但从我所读到的内容来看,XMLPullParser可能是最简单的,而且FastTestit在调用getResponse时自动成为一个SoapObject树,您只需要解析它。如果您使用XMLPullParser,您可能不希望对其使用ksoap,否则您将执行两次。。