Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/11/2013, 09:14
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: cURL y parseado XML no legible

No siempre SimpleXML te va a devolver la estructura completa con un var_dump o print_r y debes saber utilizar los métodos en estos casos:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $xml = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header/><soapenv:Body><trataPeticionPagoResponse xmlns="http://webservices.tpvpc.sermepa.es"><trataPeticionPagoReturn>&lt;Operaciones&gt;&lt;Error&gt;&lt;codigo&gt;COD-00000&lt;/codigo&gt;&lt;mensaje&gt;Mensaje de error del sistema&lt;/mensaje&gt;&lt;/Error&gt;&lt;/Operaciones&gt;</trataPeticionPagoReturn></trataPeticionPagoResponse></soapenv:Body></soapenv:Envelope>';

Código PHP:
Ver original
  1. $sxe = new SimpleXMLElement(html_entity_decode($xml));
  2. $body = $sxe->children('soapenv', true)->Body->children('', true);
  3. echo $body->trataPeticionPagoResponse->trataPeticionPagoReturn->Operaciones->Error->mensaje;
  4. //Mensaje de error del sistema
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP