Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Leyendo xml con XPath

Estas en el tema de Leyendo xml con XPath en el foro de PHP en Foros del Web. Hola estoy intentando leer un documento xml con XPath con el siguiente código @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $dom = simplexml_load_file ( $xml ) ...
  #1 (permalink)  
Antiguo 10/03/2014, 07:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 35
Antigüedad: 10 años, 5 meses
Puntos: 1
Leyendo xml con XPath

Hola estoy intentando leer un documento xml con XPath con el siguiente código

Código PHP:
Ver original
  1. $dom = simplexml_load_file($xml);
  2. $coor = $dom->xpath('/kml/a/b');
  3. var_dump($coor);

Y el documento que cargo presenta esta estructura
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <kml>
  3. <a>
  4. <b>Hola</b>
  5. </a>
  6. </kml>

Hasta ahí todo bien, el problema viene cuando cargo el mismo ducumento pero con la diferencia de que en el etiqueta 'kml' tiene atributos como en el siguiente documento

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
  3. <a>
  4. <b>Hola</b>
  5. </a>
  6. </kml>

¿Por que no me funciona cuando cargo este segundo documento?Creo que los atributos tienen algo que ver
  #2 (permalink)  
Antiguo 10/03/2014, 09:04
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 11 años, 5 meses
Puntos: 127
Respuesta: Leyendo xml con XPath

en el mismo manual hay un ejemplo practico de eso

http://cl1.php.net/manual/es/simplex...ples-basic.php
busca el "Ejemplo #5 Usando atributos"
  #3 (permalink)  
Antiguo 11/03/2014, 04:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 35
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Leyendo xml con XPath

Yo no quiero leer atributos, yo lo que quiero es leer etiquetas, y lo que quiero decir es que cuando cargo el segundo ejemplo, el cual contiene unos atributos, entonces Xpath, ya no me funciona para seguir leyendo el documento
  #4 (permalink)  
Antiguo 11/03/2014, 09:26
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 11 años, 5 meses
Puntos: 127
Respuesta: Leyendo xml con XPath

Tu SOLUCION

Código PHP:
<?php
$xml
='<?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
    <a>
    <b>Hola</b>
    </a>
    </kml>'
;

$sxe=new SimpleXMLElement($xml);
$sxe->registerXPathNamespace('ns','http://www.opengis.net/kml/2.2');
$result=$sxe->xpath('/ns:kml');
echo 
$result[0]->a->b;
?>
Resultado: Hola
  #5 (permalink)  
Antiguo 11/03/2014, 17:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 35
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Leyendo xml con XPath

Muchas gracias enlinea777, me ha resolvido el problema.

Etiquetas: xml, xpath
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:57.