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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment

    Working...
    X