Dynamische Erstellung von XML-Dokumenten mit PHP DOM

Das ist bis jetzt alles recht schön, aber die Mächtigkeit von XML zeigt sich in seinen Elementen und deren Inhalt. Zum Glück wird alles extrem einfach, wenn man erst das Basis-DOMDocument initialisiert hat. Dies geschieht in zwei Schritten:

1. Für jedes Element oder jeden Textknoten, den man hinzufügen möchte, muss die für das DOMDocument-Objekt spezifische createElement()- beziehungsweise createTextNode()-Methode mit dem entsprechenden Elementnamen oder Textinhalt aufgerufen werden. Damit wird ein neues Objekt, Element oder Textknoten erzeugt.
2. Im zweiten Schritt hängt man das Element oder den Textknoten an den Elternknoten im XML-Baum, indem man für diesen Knoten die appendChild()-Methode aufruft und ihr das Objekt aus dem vorangegangenen Schritt übergibt.

An einem Beispiel kann das anschaulicher werden. Dies ist im Skript in Listing B dargestellt.


Hier wurde zunächst ein Root-Element mit Namen <toppings> erzeugt und an den XML-Header angehängt. Danach wurde ein Element <item> erzeugt und an das Root-Element angehängt. Zum Schluss wurde ein Textknoten mit dem Wert „pepperoni“ erzeugt und an das Element <item> angehängt. Das Ergebnis sieht folgendermaßen aus:


<?xml version="1.0"?>
<toppings>
<item>pepperoni</item>
</toppings>

Soll ein weiteres „topping“-Element hinzugefügt werden, braucht man nur ein anderes <item> anzulegen und ihm einen anderen Inhalt geben (Listing C).


Hier ist das veränderte Ergebnis:


<?xml version="1.0"?>
<toppings>
<item>pepperoni</item>
<item>tomato</item>
</toppings>

Themenseiten: Anwendungsentwicklung, PHP, Software, XML

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

2 Kommentare zu Dynamische Erstellung von XML-Dokumenten mit PHP DOM

Kommentar hinzufügen
  • Am 2. April 2009 um 15:29 von Stefan

    XML DOM
    Also ich hätte mich ja noch ganz gerne für die bearbeitung von vorhandenem XML mit DOM interressierrt aber davon konnte ich in diesem Artikel nichts lesen..

    Aber ansonsten ganz gut verfasst.

    Allerdings das der Code in Scrollfenstern ist ist etwas naja, nicht so toll.
    Und ein Code Markup wäre auch nicht schlecht, also das der Code Farblich etwas sortiert ist wie z.B.: auf php.de.

  • Am 10. Dezember 2012 um 19:09 von tobi

    Mir hat der Artikel sehr gut gefallen und er hat mir auf jeden Fall sehr in meiner Problematik gerade einen Flashplayer für meine Seite zu bauen sehr geholfen! Genau das richtige, danke dafür =)
    Das einzige was mich jetzt noch wurmt ist, dass ich einen Einbindungsfehler bekomme, da ich das header(„Content-Type: text/plain“); irgendwie in den Header einbinden muss, aber die XML Seite erst später einbinden möchte, aber mal schauen das löst sich auch noch :D

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *