PHP-XML-DOM
- Vorherige Seite XML Expat Parser
- Nächste Seite XML SimpleXML
Der eingebaute DOM-Parser ermöglicht es, XML-Dokumente in PHP zu verarbeiten.
Was ist DOM?
Der W3C DOM bietet eine Standardobjektkollektion für HTML- und XML-Dokumente sowie Standard-Schnittstellen zum Zugriff und Verarbeiten dieser Dokumente.
Der W3C DOM ist in verschiedene Teile (Core, XML und HTML) und verschiedene Stufen (DOM Level 1/2/3) unterteilt:
- Core DOM - Definiert eine Standardobjektkollektion für alle strukturierten Dokumente
- XML DOM - Definiert eine Standardobjektkollektion für XML-Dokumente
- HTML DOM - Definiert eine Standardobjektkollektion für HTML-Dokumente
Wenn Sie mehr über XML DOM lernen möchten, besuchen Sie bitte unsere XML DOM Tutorial.
XML-Parser
Um ein XML-Dokument zu lesen und zu aktualisieren - zu erstellen und zu verarbeiten, benötigen Sie einen XML-Parser.
Es gibt zwei grundlegende Typen von XML-Parsern:
- Baumbasierter Parser:Dieser Parser wandelt das XML-Dokument in eine Baumstruktur um. Er analysiert das gesamte Dokument und bietet eine API an, um auf die Elemente im Baum zuzugreifen, z.B. das Dokument-Objektmodell (DOM).
- Ereignisbasierter Parser:Das XML-Dokument wird als eine Reihe von Ereignissen betrachtet. Wenn ein bestimmtes Ereignis auftritt, ruft der Parser Funktionen auf, um es zu verarbeiten.
Der DOM-Parser ist ein baumbasierter Parser.
Sehen Sie sich den folgenden XML-Dokumentenschnitt an:
<?xml version="1.0" encoding="ISO-8859-1"?> <from>John</from>
Das XML DOM betrachtet XML als eine Baumstruktur:
- Stufe 1: XML-Dokument
- Stufe 2: Wurzelelement: <from>
- Stufe 3: Textelement: "John"
Installation
Die DOM XML-Parser-Funktionen sind Bestandteil des PHP-Kerns. Diese Funktionen können ohne Installation verwendet werden.
XML-Datei
Wir verwenden im Beispiel die folgende XML-Datei:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Erinnerung</heading> <body>Denken Sie an das Treffen nicht zu vergessen!</body> </note>
Laden und Ausgabe von XML
Wir müssen den XML-Parser initialisieren, das XML laden und ausgeben:
Beispiel
<?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); print $xmlDoc->saveXML(); ?>
Die Ausgabe des obigen Codes:
George John Erinnerung Denken Sie an das Treffen nicht zu vergessen!
Wenn Sie den Quellcode im Browserfenster betrachten, sehen Sie die folgenden HTML-Daten:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Erinnerung</heading> <body>Denken Sie an das Treffen nicht zu vergessen!</body> </note>
Der obige Beispiel erstellt ein DOMDocument-Objekt und lädt das XML aus "note.xml" in dieses Dokumentobjekt.
Die saveXML()-Funktion packt das interne XML-Dokument in eine Zeichenkette, sodass wir es ausgeben können.
XML durchlaufen
Wir müssen den XML-Parser initialisieren, das XML laden und alle Elemente des <note>-Elements durchlaufen:
Beispiel
<?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:
#text = to = George #text = from = John #text = heading = Erinnerung #text = body = Vergessen Sie das Treffen nicht! #text =
In dem obigen Beispiel sehen Sie leere Textknoten zwischen jedem Element.
Wenn XML generiert wird, enthält es normalerweise Leerzeichen zwischen den Knoten. Der XML DOM-Parser behandelt sie als gewöhnliche Elemente, und wenn Sie nicht aufmerksam sind, können sie manchmal Probleme verursachen.
Wenn Sie mehr über XML DOM lernen möchten, besuchen Sie bitte unsere XML DOM Tutorial.
- Vorherige Seite XML Expat Parser
- Nächste Seite XML SimpleXML