Ankündigung

Einklappen
Keine Ankündigung bisher.

XML lesen, Werte löschen und abspeichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XML lesen, Werte löschen und abspeichern

    Hallo,

    ich stehe vor folgendem Problem.

    Lese eine XML-Datei mit simplexml_load_file aus und lade die Werte in eine foreach Schleife.
    Lösche ungewollte Werte mit unset() und möchte das Ergebiss in eine neue XML abspeichern.

    Anbei der aktuelle Code:
    PHP-Code:
    <?php
    $xml 
    simplexml_load_file($file);

    foreach(
    $xml->product as $product)
    {
    $abfrage mysql_query("SELECT * FROM Tabelle WHERE Wert = '".$product->Wert."' ");
    $num_rows mysql_num_rows($abfrage);
    if(
    $num_rows == 0)
    {
    unset(
    $xml->product);
    }
    }
    ?>
    Mit $xml->asXML komme ich nicht zu dem gewünschten Ergebniss.
    Kann mir bitte jemand helfen?

    LG

  • #2
    Warum willst du das aus dem XML raushaben? Was hast du im weiteren Verlauf mit dem XML noch vor?

    Fehler und Unsitten
    DB Abfragen sind schlecht. In deinem Fall würde sich prepared statements geradezu anzubieten.
    Prepare vor der Schleife, das ausführen mit den Werten dann innerhalb.
    Ist um ein vielfaches schneller.

    Aber du hast da noch andere Fehler drin.
    Mysql ist veraltet und in den neueren Versionen von PHP schon entfernt worden. Siehe den roten Kasten zu mysql_query.

    SELECT * sollte man nicht abfragen. Führe SELECT immer alle Spalten auf die angezeigt haben willst.
    In deinem Fall sollte die Id ausreichend sein, also SELECT id FROM .....

    Kommentar


    • #3
      Hallo!

      Lese eine XML-Datei mit simplexml_load_file aus und lade die Werte in eine foreach Schleife.
      Lösche ungewollte Werte mit unset() und möchte das Ergebiss in eine neue XML abspeichern.
      Bitte beachten - hier ist kein Hausaufgabenservice, sondern ein Programmierforum!

      https://www.php.de/articles/regeln-u...inungsumfragen

      Und:

      mysql_ ist schon ewig veraltet und das nicht fortgeschritten.

      MOD: Verschoben von PHP-Fortgeschritten.

      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar

      Lädt...
      X