Ich habe eine XML-Datei in ein DOM-Dokument geladen, Ich möchte alle 'foo' Tags durchlaufen, erhalten Werte von jedem Tag darunter. Ich weiß, dass ich Werte überWie durchläuft ich DOM-Elemente in PHP?
$element = $dom->getElementsByTagName('foo')->item(0);
foreach($element->childNodes as $node){
$data[$node->nodeName] = $node->nodeValue;
}
Allerdings bekommen können, was ich zu tun werde versuchen, aus einer XML ist wie,
<stuff>
<foo>
<bar></bar>
<value/>
<pub></pub>
</foo>
<foo>
<bar></bar>
<pub></pub>
</foo>
<foo>
<bar></bar>
<pub></pub>
</foo>
</stuff>
Iterierte über jeden foo-Tag und erhalten spezifische bar oder pub, und erhalten Sie Werte von dort. Nun, wie kann ich über foo iterieren, so dass ich noch auf bestimmte Kindknoten nach Namen zugreifen kann?
Keine Notwendigkeit für $ element. Füge einfach $ data wie folgt an: $ data [] = array ($ child-> nodeName => $ child-> nodeValue); – troelskn
Das hat den Trick gemacht! Ich dachte zu kompliziert. Muss müde sein. – Esa
Aktualisiert den Code basierend auf Kommentar von troelskn, ist das was du meintest? – roryf