Neueste Web-Entwicklung Tutorials
 

PHP XML DOM Parser


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 .