Pregunta

Estoy llamando a los servicios web. El servicio web devuelve datos en formato XML. Ahora el problema es que los datos XML no está siendo recibida en el formato apropiado. En lugar de "<", ">" devuelve en forma html. Así que les asigna el XMLData a un NSMutableString y sustituye los caracteres de escape de manera que el formato de datos XML es correcta. Entonces me reasignaron a la NSMutableString NSData de modo que pueda analizar las etiquetas. pero el problema es la XMLParser detiene justo donde los datos XML. Donde i sustituye las etiquetas. es imposible ir más allá. ¿Alguien puede hacerme entender lo que está pasando ????

Esta es la respuesta xml de servicio web que i llamado.

<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:GetCustomerInfoResponse xmlns:ns1="http://aa.somewebservice.com/phpwebservice">
<return xsi:type="xsd:string">
    &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;&lt;customer&gt;&lt;id&gt;1&lt;/id&gt;&lt;customername&gt;Hitesh&lt;/customername&gt;&lt;phonenumber&gt;98989898&lt;/phonenumber&gt;&lt;/customer&gt;
</return>
</ns1:GetCustomerInfoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Y esto es después de que sustituye las etiquetas.

<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:GetCustomerInfoResponse xmlns:ns1="http://aa.somewebservice.com/phpwebservice">
<return xsi:type="xsd:string">
<?xml version="1.0" encoding="utf-8"?> 
 <customer><id>1</id><customername>Hitesh</customername><phonenumber>98989898</phonenumber></customer>
</return>
</ns1:GetCustomerInfoResponse>
</SOAP-ENV:Body></SOAP-ENV:Envelope>

Ahora el problema es al analizar los datos XML, el analizador sólo llega hasta la etiqueta de retorno. Y luego se ha quedado atascado allí. Eso no ir más lejos. Así Wat hago? cuidado de que nadie me ayuda?

¿Fue útil?

Solución

¿Qué programa de análisis se utilizan? En el iPhone se pueden utilizar diferentes programas de análisis (por ejemplo: TouchXML o TinyXML ), trate de usar que ...

También creo que le quite <?xml version="1.0" encoding="utf-8"?> de la etiqueta de 'retorno' o sustituirla por otra etiqueta. Luego, cuando sea necesario realizar la transformación inversa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top