Hallo,
auch nach langer Recherche finde ich leider keinen zufriedenstellenden Ansatz, so daß ich gern eure Meinung dazu hören möchte.
Die Ausgangslage:
Ich habe eine relativ große und tief verschachtelte XML Datei, deren Struktur und Inhalt ich in einer MySQL Datenbank speichern möchte. Jeder Wert und jedes Attribut der XML Datei soll in einem Datenfeld gespeichert werden. Es hadelt sich um etwa 300 verschiedene Einträge, die natürlich in bestimmten Zweigen mehrfach vorkommen können.
Mein Wunsch:
Alle Werte und Attribute sollen in ein PHP Objekt überführt werden können. Es sollen auch Teilobjekte möglich sein, d.h. ich möchte mir nur bestimmte Zweige ausgeben lassen.
Mein Ansatz:
Aus meiner Sicht läßt sich die XML Datei nicht direkt in die Datenbank importieren, sondern muß vorher einmal geparst werden um entweder die Datei so umzuschreiben, daß man sie über den MySQL XML Importer nutzen kann, oder man sie gleich in ein Objekt überführt. Nun wäre das Objekt nicht gerade klein und ein solches Objekt "von Hand" in PHP nachzubauen müßig. Die serialize / deserialize Funktionen von PHP scheinen mir in dieser Hinsicht auch nicht das Passende zu sein.
Meine Fragen:
- wie importiert man die XML Daten am effektivsten in die Datenbank?
- gibt es eine Möglichkeit die Daten direkt in ein PHP Objekt zu überführen?
- wie würdet ihr das Problem angehen?
Gruß,
Spider