Der Einbau-DOM-Parser macht es möglich, XML-Dokumente in PHP zu verarbeiten.
Die XML-DOM-Parser
Der DOM-Parser ist ein Baum-basierte Parser.
Schauen Sie sich die folgende XML-Dokument Fraktion:
<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>
Der DOM sieht die XML oben als Baumstruktur:
- Ebene 1: XML-Dokument
- Stufe 2: Root - Element: <from>
- Stufe 3: Textelement: "Jani"
Installation
Die DOM-Parser-Funktionen sind Teil des PHP-Kern. Es ist keine Installation erforderlich, um diese Funktionen zu nutzen.
Eine XML-Datei
Die XML-Datei unten wird in unserem Beispiel verwendet werden:
<?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>
Laden und Output XML
Wir wollen den XML-Parser, laden die XML initialisieren, und gibt es:
Beispiel
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
Der Ausgang des Code oben wird sein:
Tove Jani Reminder Don't forget me this weekend!
Wenn Sie die Option "View source" im Browser - Fenster, sehen Sie das folgende HTML sehen:
<?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 erzeugt ein DOMDocument-Objekt und lädt die XML - Daten aus "note.xml" hinein.
Dann wird die saveXML() legt Funktion den internen XML - Dokument in einen String, so können wir es ausgegeben.
Looping durch XML
Wir wollen den XML - Parser initialisieren, laden Sie die XML und Schleife durch alle Elemente des <note> Element:
Beispiel
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>
Der Ausgang des Code oben wird sein:
#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =
In dem obigen Beispiel sehen Sie, dass es zwischen den einzelnen Elementen leere Textknoten sind.
Wenn XML erzeugt, enthält es oft weiß-Räume zwischen den Knoten. Die XML-DOM-Parser behandeln diese als gewöhnliche Elemente, und wenn Sie nicht bewusst sind, sie manchmal zu Problemen führen.
Wenn Sie mehr über die XML - DOM erfahren möchten, besuchen Sie bitte unsere XML - Tutorial .