XML-Baumstruktur in verschachteltes PHP-Array umwandeln

VBFreak

Mitglied
Hallo allerseits.

Ich habe hier ein XML-File, dass ich gern in ein ineinander verschachteltes Array in einem PHP-Skript aufnehmen möchte. Das heisst, das entstehende Array soll exakt die selbe Struktur wiederspiegeln. Leider habe ich null Ahnung wie ich das angehen soll. Könnt ihr mir da vielleicht helfen?

Ich kann euch leider das XML-File nicht zeigen, da es zu groß ist (über 3 MB). Aber ich glaube, ich kann euch die Struktur erklären:
  1. Es werden im XML-Dokument verschiedene Rezepte aufgenommen (<Recipes>)
  2. Die Rezepte werden getrennt nach verschiedenen Königreichen aufgeführt. Es gibt mindestens 1 Königreich. Das Königreich hat die Eigenschaft "name"
    (<Realm name="Königreich">)
  3. In jedem Köngigreich gibt es (staatlich anerkannte) Berufe. Es gibt mindestens 1 Beruf pro Königreich. Der Beruf hat die Eigenschaft "name"
    (<Skill name="Berufname">)
  4. In jedem Beruf lassen sich verschiedene Gegenstände herstellen. Es gibt mindestens 1 Gegenstand pro Beruf. Der Gegenstand hat die Eigenschaft "name"
    (<Item name="Gegenstandsname">
  5. Für jeden Gegenstand gibt es verschiedene Vorlagen. Es gibt mindestens 1 Vorlage pro Gegenstand. Die Vorlage hat die Eigenschaften "name" und "skill", letzeres zeigt den Schwierigkeitsgrad der Vorlage an
    (<Pattern name="Vorlagename" skill="Schwierigkeit">)
  6. Für jede Vorlage gibt es verschiedene Zutaten. Es gibt mindestens 1 Zutat pro Vorlage. Die Zutat hat die Eigenschaften "cat", "name" und "quantity". "cat" ist eine optionale Eigenschaft und nimmt die Zutatenkategorie auf. "quantity" enthält die benötigte Menge der Zutat
    (<Ingredient cat="Zutat-Kategorie" name="Zutat-Name" quantity="Menge" />)
Weis wer wie man das in PHP umsetzen kann? Ich wäre euch sehr dankbar.

MfG,

VBFreak
 
Schau dir mal die Funktionen von [phpf]simplexml[/phpf] an, falls dir PHP5 zur Verfügung steht.

Ansonsten musst du dich Wohl oder Übel mit den [phpf]xml[/phpf] Funktionen von PHP4 rumschlagen.

greetz
daddz
 
Danke daddz,

Das war echt nen Supertipp mit dem SimpleXML. Ich hatte mich schon etwas mit den XML-Funktionen geplagt, aber es nicht gebacken bekommen. Ich glaube aber, dass ich meine Wünsche jetzt mit SimpleXML umsetzen kann.


CU,

VBFreak
 
Zurück