Tema: XML parcing
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2009, 09:03
Avatar de bacdavi
bacdavi
 
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 11 meses
Puntos: 7
Pregunta XML parcing

Hola amigos,

En espera que alguno de ustedes me pueda brindar una ayuda con este tema.

Resulta que tengo un xml traido por nusoap que es este:

Código xml:
Ver original
  1. <ERROR-EXCEPTION><MESSAGE>Transacción no encontrada.</MESSAGE><PROCESO>TraerInformacion_CTH</PROCESO></ERROR-EXCEPTION>

y tengo esta función para hacer el parcing en php

Código PHP:
Ver original
  1. function xmlbreak($mensaje, $Tag){//Descomponer el mensaje XML
  2. $xmlparser = xml_parser_create();
  3. xml_parse_into_struct($xmlparser, $mensaje, $values, $indexes);
  4. foreach ($values as $element){
  5.     if ($element["tag"] == $Tag){
  6.         if(isset($element["value"])){
  7.             $retorno = $element["value"];
  8.         }else{
  9.             $retorno = "";
  10.         }
  11.     }
  12. }
  13. return $retorno;
  14. xml_parser_free($xmlparser);
  15. }//Fin xmlbreak

Operación:

Código PHP:
Ver original
  1. $val="<ERROR-EXCEPTION><MESSAGE>Transacción no encontrada.</MESSAGE><PROCESO>TraerInformacion_CTH</PROCESO></ERROR-EXCEPTION>";
  2. $error=xmlbreak($val, 'MESSAGE');

en mi codigo fuente se escribe exactamente el xml, pero al hacer el parcing me aparece unicamente Transacci alguno de ustedes me puede brindar una orientación de por que la funcion no descompone el mensaje completo, sino que solo hasta donde encuentra una tilde???

Muchas Gracias