XML->MySQL import

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • XML->MySQL import

    Hallo,

    ich möchte gerne die Daten aus einer XML-Datei in eine MySQL-Datenbank importieren.
    Die Richtige Anzahl an Produkten wird angelegt, es werden jedoch nur immer die Daten des 1. Produktes der XML-Datei eingetragen.

    XML-DATEI:

    Quellcode

    1. <products>
    2. <product id="12345">
    3. <name>Test-Artikel</name>
    4. <number>123</number>
    5. .
    6. .
    7. .
    8. </product>
    9. </products>



    Hier der PHP-Cpde:

    Quellcode

    1. $xml = simplexml_load_file($filename);
    2. if($xml)
    3. {
    4. foreach($xml->product AS $product)
    5. {
    6. $product["name"] = $xml->product->name;
    7. $product["number"] = $xml->product->number;
    8. $abfrage = "INSERT INTO tabelle (name, number) VALUES ('".$product["name"]."', '".$product["number"]."')";
    9. $ergebnis = mysql_query($abfrage);
    10. }
    11. }
    Alles anzeigen


    Also der Eintrag an sich funktioniert wie gesagt, er trägt nur immer die Daten des 1. Produktes ein.
    Hat hier vielleicht jemand einen Tipp für mich? Wahrscheinlich nur ein ganz dummer Fehler, aber ich verzweifel hier gerade daran...

    Viele Grüße

    Chalst
  • Nach kurzem Überfliegen würde ich sagen, dass du das Foreach auf $xml->products ansetzen musst.
    Das Wertezuweisen in der Schleife sieht auch etwas gruselig aus, da wird das foreach praktisch sinnlos.

    Du kannst in der Schleife über $product auf das Objekt der aktuellen Iteration zugreifen. Die $product["name"] = .. kannst du dir also sparen, und einfach folgendes machen:

    $abfrage = "INSERT INTO tabelle (name, number) VALUES ('".$product->name."', '".$product->number."')";

    Ist jetzt ungetestet, dürfte aber funktionieren.
    Jan Thurau
    Software and Systems Engineer
    janthurau.de

    [Blockierte Grafik: http://www.pageheroes.com/media/image/pageheroes_logo.png] - We get your page working!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Jan Thurau ()