Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/10/2014, 10:18
rcrdmedina6
 
Fecha de Ingreso: octubre-2014
Ubicación: CARACAS
Mensajes: 3
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Como acceder a nodos hijos especificos de un xml con php

En la pagina que me recomendaron encontre el método xpath, su funcion es buscar el nodo SimpleXML para los hijos que cumplan la path XPath. Ejemplo:

<?php

$string = <<<XML
<a>
<b ID="123">
<b1 ID="b1">b1</b1>
<b2 ID="b2">b2</b2>
<b3 ID="b3">b3</b3>
<c ID="1">texto</c>
<c ID="2">cosas</c>
</b>
<b ID="345">
<b1 ID="b4">b4</b1>
<b2 ID="b5">b5</b2>
<b3 ID="b6">b6</b3>
<c ID="3">código</c>
<c ID="4">texto</c>
<c ID="5">cosas</c>
</b>
</a>
XML;

$xml = new SimpleXMLElement($string);

$id=123;

/* Busca <a><b><c> */
$resultado = $xml->xpath('//b[@ID="'.$id.'"]//c');

while(list( , $nodo) = each($resultado)) {

$arr = $nodo->attributes();

print ("atributoID=".$arr["ID"]).'valor: '.$nodo."<br/>";
}

?>

resultado:

atributoID=1valor: texto
atributoID=2valor: cosas