PHP -XML-DOM-Parser
Der eingebaute DOM-Parser ermöglicht es, XML-Dokumente in PHP zu verarbeiten.
Der XML-DOM-Parser
Der DOM-Parser ist ein baumbasierter Parser.
Sehen Sie sich den folgenden XML-Dokumentteil an:
<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>
Das DOM sieht das obige XML als Baumstruktur:
- Ebene 1: XML-Dokument
- Ebene 2: Wurzelelement: <von>
- Ebene 3: Textelement: „Jani“
Installation
Die DOM-Parser-Funktionen sind Teil des PHP-Kerns. Für die Nutzung dieser Funktionen ist keine Installation erforderlich.
Die XML-Datei
In unserem Beispiel wird die folgende XML-Datei ("note.xml") verwendet:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML laden und ausgeben
Wir wollen den XML-Parser initialisieren, das XML laden und ausgeben:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
Die Ausgabe des obigen Codes lautet:
Tove Jani Reminder Don't forget me this weekend!
Wenn Sie im Browserfenster „Quelle anzeigen“ auswählen, sehen Sie den folgenden HTML-Code:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Das obige Beispiel erstellt ein DOMDocument-Objekt und lädt das XML aus "note.xml" hinein.
Dann fügt die Funktion saveXML() das interne XML-Dokument in einen String ein, damit wir es ausgeben können.
Schleife durch XML
Wir wollen den XML-Parser initialisieren, das XML laden und alle Elemente des <note>-Elements durchlaufen:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
Die Ausgabe des obigen Codes lautet:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
Im obigen Beispiel sehen Sie, dass sich zwischen jedem Element leere Textknoten befinden.
Wenn XML generiert wird, enthält es häufig Leerzeichen zwischen den Knoten. Der XML-DOM-Parser behandelt diese als gewöhnliche Elemente, und wenn Sie sich dessen nicht bewusst sind, verursachen sie manchmal Probleme.
Wenn Sie mehr über das XML-DOM erfahren möchten, besuchen Sie bitte unser XML-Tutorial .