Ein simples Scriptchen, welches PHP's event-basierten Expat-Parser verwendet, um den Inhalt eines XML-Dokuments in eine multidimensionale Array-Struktur zu erzeugen.
Die Idee zur Lösung des Problems mit Referenzen und Ebenen-Stack war zugebenermaßen nicht meine - ohne Abgucken von einem andern Script, das folglich nach demselben Prinzip funktioniert, wär ich dadrauf definitiv nicht gekommen....aber mein Code is noch n bisschen kürzer ;D.
Zur Verwendung:
Objekt der Klasse instanzieren und die XML-Datei als Argument übergeben.
Das Array mit den XML-Daten steht dann als $objektname->XMLdata zur Verfügung, Schreibweise ist folgende:
$objektname->XMLdata['ELEMENTNAME'][x]['ELEMENTNAME'][x]['ATTR']/['CDATA']
wobei x für die Nummer des Elements mit dem angegeben Elementnamen auf der jeweiligen Ebene steht.
$objektname->XMLdata['GUESTBOOK'][0]['ENTRY'][3]['CDATA']
würde z.B. die cdata-Sektion (den Inhalt zwischen Öffnen- und Schließen-Tag) das 3. Child-Elements mit dem Tagnamen <entry> innerhalb des des Root-Elements <guestbook> zurückliefern. Alles klar?
