PHP, SimpleXML - Import nach MySQL mit doppelten Node-Namen

  • Hallo Allerseits,
    ich habe da ein Problem, wo ich im Moment nicht weiterkomme. Alle Tutorials die ich bisher gefunden habe, haben mir nicht weitergeholfen. Vielleicht habe ich auch mit falschen Begriffen gesucht.

    Vielleicht kann mir hier jemand helfen.

    Ich importiere eine XML Datei in eine MySQL Tabelle.

    Die XML Datei hat folgende Struktur:

    Mein Script für den Import sieht wie folgt aus:

    Soweit funktioniert auch alles einwandfrei.

    Nur bei den Kategorien (<category>) hapert es. Mit meinem Script wird immer nur eine Kategorie in das entsprechende Feld eingelesen.

    Ich bräuchte eine Lösung, die mir alle Kategorien - möglichst wo doppelte Kategorien aussortiert sind - in eine separate Tabelle schreibt. Alternativ würde mir auch eine Lösung reichen, wo alle Kategorien einer Sektion kommagetrennt in das entsprechende Feld geschrieben wird.


    Kann mir da jemand helfen?
    Auch wenn es nicht üblich ist, fertige Lösungen zu präsentieren, so würde ich mich über eine funkionsfähige Lösung sehr freuen.


    VG
    Torsten

    • Offizieller Beitrag

    Hallo,

    Du solltest mal den ErrorReport einschalten und Debugging betreiben.
    SimpleXML ist sehr strikt und verzeiht nicht viel. Deine XML ist nicht konform und wird vermutlich deshalb gar nicht verarbeitet.

    Ich würde das ganze mal mit DOMDocument und XPath probieren, das ist toleranter und ebenso einfach.
    Hier ein kleines verständliches Tutorial: http://www.php-rocks.de/thema/74-einfu…t-domxpath.html