Lukas Hecklenfurth: XML-Datei mit Javascript auslesen -> MySQL

Hallo,
Ich habe eine XML-Datei in folgendem Stil:

<Produktliste>
  <Ersteller>Hans</Ersteller>
  <Datum>11.11.1111</Datum>
  <Produkt>
    <Name>XTraKaugummi</Name>
    <Preis>11</Preis>
    .....
  </Produkt>
  <Produkt>
    <Name>XTraBonbons</Name>
    <Preis>13</Preis>
    .....
  </Produkt>
</Produktliste>

Nun möchte ich die Einträge auslesen und in einer MySQL Datenbank speichern.
Ich würde die XML-Datei gerne so durchtasten wie in Javascript üblich mit parent, node und soweiter (DOM) .
EIgentlich hatte ich vor das mit PHP zu machen, hab dann auch ein bisschen im Internet gesucht und letztendlich rausbekommen, dass ich extra eine library installieren muss (DomXML). Da ich die Seite aber später online stellen will und man bei den meisten Anbietern keine zusätzlichen Sachen für php installieren kann, bin ich nun auf javascript gestossen.
Meine Suche nach javascript und xml parser ergab zwar viele Treffer, aber ich konnte mit keinem richtig was anfangen. Könnt ihr mir vielleicht erklären wie ich am besten vorgehe, oder einfach einen guten Link posten.

Das wäre sehr nett,
Vielen Dank
Lukas

  1. hi,

    EIgentlich hatte ich vor das mit PHP zu machen, hab dann auch ein bisschen im Internet gesucht und letztendlich rausbekommen, dass ich extra eine library installieren muss (DomXML). Da ich die Seite aber später online stellen will und man bei den meisten Anbietern keine zusätzlichen Sachen für php installieren kann,

    DOM-Unterstützung würde ich bei der Wahl eines PHP-Hosters voraussetzen.
    Ob man die DOM-Library für PHP4 unterstützt, oder sich lieber gleich für DOM in PHP 5 entscheidet, wäre zu überlegen. Wenn man nur Daten einlesen will, dann wäre auch SimpleXML eine brauchbare Wahl.

    bin ich nun auf javascript gestossen.

    Fähigkeit zur XML-Verarbeitung am Client vorauszusetzen, erscheint mir gegenüber der serverseitigen Verarbeitung die unsicherere und wegen unterschiedlicher Implementationen in den Browsern auch aufwendigere Wahl.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Vielen Dank,
      SimpleXML ist genau das, was ich suche.

      Lukas

  2. Hallo,

    In der Überlegung »Wenn es mit PHP nicht geht, versuche ichs mit JavaScript« steckt in dem meisten Fällen ein Denkfehler - PHP läuft serverseitig, JavaScript clientseitig. Wo kommt das XML her und wo geht es hin? Entweder das XML soll serverseitig verarbeitet werden oder clientseitig. Du hast gesagt, es soll in die MySQL-Datenbank, also ist JavaScript denkbar ungeeignet, weil es auch nicht mehr könnte, als die XML-Daten wieder in POST-Formulardaten umzuwandeln und an ein PHP-Script zu senden, das die Daten schließlich einträgt.

    Das DOM-Modul ist ab PHP 5 Standard. Nur in PHP 4 braucht man ein Zusatzmodul. Aber auch dort gibt es ein standardmäßig eingebautes SAX-Interface. Das ist nicht schön, geht aber im Notfall. Einige Bibliotheken bauen darauf auf, was die Sache vereinfacht.

    Aber ja, mit JavaScript lassen sich XML-Dateien parsen und darauf über das DOM zugreifen. Wie, kommt darauf an, wo das XML-Dokument herkommt. Soll es vom selben (!) Server geladen werden, dann kannst du XMLHttpRequest nutzen. (Wahrscheinlich wenig sinnig in deinem Fall - wenn es auf dem Server läge, hättest du wahrscheinlich das Problem nicht.) Von fremden Servern lässt sich mit JavaScript kein XML-Dokument laden, was noch ginge, wäre ein String als XML verarbeiten (was das Problem nur verschieben würde, denn wo kommt der String her).

    Mathias