XML mit PHP - alles weg bis auf die veränderten Elemente?

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

  • XML mit PHP - alles weg bis auf die veränderten Elemente?

    Ich habe ein ein XML file angelegt mit verschiedenen Daten die für meine Frage nicht relevant sind. (Das xml-file wird zur laufzeit dynamisch von php erzeugt)

    Die Struktur des xml-files schaut folgendermaßen aus:
    PHP-Code:
    <?xml version="1.0"?>
    <data>
      <root>here is the root url</root>
      <page url="" xml:id="number_1">
        <link visited="no">url</link>
        <link visited="no">url</link>
        <link visited="no">url</link>
      </page>
      <page url="" xml:id="number_2">
        <link visited="no">url</link>
        <link visited="no">url</link>
        <link visited="no">url</link>
      </page>
    </data>
    Es gibt beliebig viele 'page' nodes mit beliebig vielen 'link' Elemente

    Später lese ich das xml file wieder ein mit

    PHP-Code:
    @$dom DOMDocument::load($XMLfilename); 
    Dann such ich mir mit getElementById ein bestimmtes <page> node und verändere alle <link> elemente in dieser node mit:
    PHP-Code:
    $link->setAttribute('visited','yes'); 
    Sobald ich jedoch das wieder speichere mit:
    PHP-Code:
    $dom->save($XMLfilename); 
    sind auf einmal alle Datensätze weg bis auf die die ich verändert habe!
    Das sieht dann folgendermaßen aus:
    PHP-Code:
    <?xml version="1.0"?>
    <data>
      <root>here is the root url</root>
      <page url="" xml:id="number_1">
        <link visited="yes">url</link>
        <link visited="yes">url</link>
        <link visited="yes">url</link>
      </page>
    </data>
    Also alle <page> nodes sind weg bis auf das in dem ich die link elemente verändert habe.

    Warum ist das so? Wie kann ich es machen das die anderen Nodes/Elemente vorhanden bleiben?

    Ich hoffe ich hab mich verständlich ausgedrückt. Danke im Voraus für Antworten

  • #2
    Sicher, dass da nicht noch irgendwelcher anderer Code im Spiel ist (zwischen setAttribute() und save())? Ich konnte dieses eigenartige Verhalten nämlich noch nie beobachten.
    "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

    Kommentar

    Lädt...
    X