Frage von Flitzi2016, 25

Simple XML Foreach element with attr?

Hi Leute ich habe diese xml datei in etwa:

http://paste.ofcode.org/hTqdzksn2usg4hbNHVFqCk


die möchte ich durch alle element gehen und dessen attribute und dann die childrens mit deren atrribute auslesen.

wie mache ich das am besten?


mein bisheriger code: paste.ofcode.org/dipYqyNtXLKTYSnWwFGZKh

Antwort
von kingbongo, 8

Verwende am besten eine externe Library die über eine einfache API das XML Parsing vereinfacht. SimpleXML wird schnell unübersichtlich. Mit der "fluidXML" Bibliothek wäre dein Vorhaben mit 5 Zeilen Code umgesetzt.

https://github.com/servo-php/fluidxml/wiki/Getting-Started:-6.-Iterating-And-Fil...

Antwort
von Isendrak, 7

Am einfachsten wäre eine rekursive Funktion.

Beispiel in Pseudocode:

function processNode(node, depth = 0){
for(i = 0; i < depth; i++)
print('\t');
println(node.name + ": " + node.attributes);
foreach(child in node.children)
processNode(child, depth + 1);
}

processNode(xml.root);

Sie kennen die Antwort?

Fragen Sie die Community

Weitere Fragen mit Antworten