Dynamische Erstellung von XML-Dokumenten mit PHP DOM

Durch gezielte Benutzung von Attributen können weitere qualifizierende Informationen zu den Elementen hinzugefügt werden. Mit dem PHP DOM API braucht man dafür zwei Schritte. Zuerst wird mit der createAttribute()-Methode des DOMDocument-Objekts ein Attributknoten mit dem Namen des Attributs angelegt. Anschließend wird ein Textknoten darangehängt, der den Attributwert enthält. Listing D ist ein Beispiel dafür.


Und so sieht das Ergebnis aus:


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

CDATA-Blöcke und Processing Instructions hinzufügen

Obwohl nicht so oft benutzt, werden CDATA-Blöcke und Processing Instructions (PI) vom PHP API gut durch die createCDATASection()- und createProcessingInstruction()-Methoden des DOMDocument-Objekts unterstützt. Listing E enthält ein Beispiel dafür.


Hier ist das Ergebnis:



pepperoni
<![CDATA[
Customer requests that pizza be sliced into 16 square pieces
]]>


Speicherung der Ergebnisse

Wurde die Baumstruktur wie gewünscht erzeugt, kann sie entweder in eine Datei oder in einer PHP-Variablen abgespeichert werden. Ersteres geschieht durch den Aufruf einer save()-Methode mit einem Dateinamen, letzteres durch den Aufruf der saveXML()-Methode mit anschließender Zuweisung des Ergebnisses zu einem String.


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 *