Tengo un archivo XML cargado en un documento DOM, Deseo repetir todas las etiquetas 'foo', obteniendo valores de cada etiqueta debajo de él. Sé que puedo obtener los valores a través de¿Cómo puedo iterar a través de elementos DOM en PHP?
$element = $dom->getElementsByTagName('foo')->item(0);
foreach($element->childNodes as $node){
$data[$node->nodeName] = $node->nodeValue;
}
Sin embargo, lo que estoy tratando de hacer, es a partir de un XML como,
<stuff>
<foo>
<bar></bar>
<value/>
<pub></pub>
</foo>
<foo>
<bar></bar>
<pub></pub>
</foo>
<foo>
<bar></bar>
<pub></pub>
</foo>
</stuff>
iterar sobre cada etiquetafoo, y obtener específica bar o pub, y obtén valores de allí. Ahora, ¿cómo puedo iterar sobre foo para poder acceder a nodos secundarios específicos por nombre?
No hay necesidad de $ elementCount. Simplemente agregue $ a datos como este: $ data [] = array ($ child-> nodeName => $ child-> nodeValue); – troelskn
¡Eso hizo el truco! Estaba pensando demasiado complicado. Debe estar cansado. – Esa
Actualizado el código basado en el comentario de troelskn, ¿es eso lo que quiso decir? – roryf