PHP XML-Tutorial: Erstellen, Analysieren, Lesen mit Beispiel
Was ist XML?
XML ist die Abkürzung für Extensible Markup Language.
XML wird zum Strukturieren, Speichern und Transportieren von Daten von einem System zu einem anderen verwendet.
XML ähnelt HTML.
Es verwendet öffnende und schließende Tags.
Im Gegensatz zu HTML können Benutzer bei XML ihre eigenen Tags definieren.
Was ist DOM?
DOM ist die Abkürzung für Document Object Model.
Es handelt sich um einen plattformübergreifenden und sprachneutralen Standard, der definiert, wie auf Daten zugegriffen und bearbeitet wird.
- HTML
- XHTML
- XML
DOM XML wird verwendet, um auf XML-Dokumente zuzugreifen und diese zu bearbeiten. Es Zeigt das XML-Dokument an als Baumstruktur.
XML-Parser
Ein XML-Parser ist ein Programm, das das XML-Dokument in ein XML Document Object Model (DOM)-Objekt übersetzt.
Das XML-DOM-Objekt kann dann bearbeitet werden mit JavaSkript, Python, und PHP usw.
Das Schlüsselwort CDATA, das Akronym für (Unparsed) Character Data, wird verwendet, um Sonderzeichen wie „<,>“ beim Parsen eines XML-Dokuments zu ignorieren.
Warum XML verwenden?
- Webdienste wie SOAP und REST verwenden das XML-Format zum Austausch von Informationen. Wenn Sie lernen, was XML ist und wie es funktioniert, verschaffen Sie sich als Entwickler einen Wettbewerbsvorteil, da moderne Anwendungen stark auf Webdienste zurückgreifen.
- XML-Dokumente können zum Speichern von Konfigurationseinstellungen einer Anwendung verwendet werden
- Sie können damit Ihre eigenen benutzerdefinierten Tags erstellen, um die Flexibilität zu erhöhen.
Beispiel für ein XML-Dokument
Nehmen wir an, Sie entwickeln eine Anwendung, die Daten von einem Webdienst im XML-Format erhält.
Unten sehen Sie ein Beispiel dafür, wie das XML-Dokument aussieht.
<?xml version="1.0" encoding="utf-8"?> <employees status = "ok"> <record man_no = "101"> <name>Joe Paul</name> <position>CEO</position> </record> <record man_no = "102"> <name>Tasha Smith</name> <position>Finance Manager</position> </record> </employees>
HIER,
- „ „Gibt die zu verwendende XML-Version und die Codierung an
- „ „ist das Wurzelelement.
- „ … „sind die untergeordneten Elemente der Verwaltung bzw. des Verkaufs.
So lesen Sie XML mit PHP
Schreiben wir nun den Code, der das XML-Dokument des Mitarbeiters liest und die Ergebnisse in einem Webbrowser anzeigt. index.php
<?php $xml = simplexml_load_file('employees.xml'); echo '<h2>Employees Listing</h2>'; $list = $xml->record; for ($i = 0; $i < count($list); $i++) { echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>'; echo 'Name: ' . $list[$i]->name . '<br>'; echo 'Position: ' . $list[$i]->position . '<br><br>'; } ?>
HIER,
- „$xml = simplexml_load_file('employees.xml');“ verwendet die Funktion simplexml_load_file, um den Dateinamen employees.xml zu laden und den Inhalt der Array-Variable $xml zuzuweisen.
- „$list = $xml->record;“ Ruft den Inhalt des Datensatzknotens ab.
- „for ($i = 0; $i < count(…)…“ ist die for-Schleife, die das numerische Array liest und die Ergebnisse ausgibt
- „$list[$i]->attributes()->man_no;“ liest das man_no-Attribut des Elements
- „$list[$i]->name;“ liest den Wert des untergeordneten Elements name
- „$list[$i]->position;“ liest den Wert des untergeordneten Positionselements
Testen unserer Anwendung
Angenommen, Sie haben die Datei index.php im Ordner phptus/xml gespeichert, navigieren Sie zur URL http://localhost/phptuts/xml/index.php
So erstellen Sie ein XML-Dokument mit PHP
Wir werden uns nun ansehen, wie man mit PHP ein XML-Dokument erstellt.
Wir werden das obige Beispiel im DOM-Baumdiagramm verwenden.
Der folgende Code verwendet die in PHP integrierte Klasse DOMDocument, um ein XML-Dokument zu erstellen.
<?php $dom = new DOMDocument(); $dom->encoding = 'utf-8'; $dom->xmlVersion = '1.0'; $dom->formatOutput = true; $xml_file_name = 'movies_list.xml'; $root = $dom->createElement('Movies'); $movie_node = $dom->createElement('movie'); $attr_movie_id = new DOMAttr('movie_id', '5467'); $movie_node->setAttributeNode($attr_movie_id); $child_node_title = $dom->createElement('Title', 'The Campaign'); $movie_node->appendChild($child_node_title); $child_node_year = $dom->createElement('Year', 2012); $movie_node->appendChild($child_node_year); $child_node_genre = $dom->createElement('Genre', 'The Campaign'); $movie_node->appendChild($child_node_genre); $child_node_ratings = $dom->createElement('Ratings', 6.2); $movie_node->appendChild($child_node_ratings); $root->appendChild($movie_node); $dom->appendChild($root); $dom->save($xml_file_name); echo "$xml_file_name has been successfully created"; ?>
HIER,
- „$dom = neues DOMDocument();“ Erstellt eine Instanz der DOMDocument-Klasse.
- „$dom->encoding = 'utf-8';“ Setzt die Dokumentkodierung auf utf-8
- „$dom->xmlVersion = '1.0';“ gibt die Versionsnummer 1.0 an
- „$dom->formatOutput = true;“ stellt sicher, dass die Ausgabe gut formatiert ist
- „$root = $dom->createElement('Movies');“ erstellt den Stammknoten mit dem Namen Movies
- „$attr_movie_id = new DOMAttr('movie_id', '5467');“ Definiert das Film-ID-Attribut des Filmknotens
- „$child_node_element_name = $dom->createElement('ElementName', 'ElementValue')“ erstellt den untergeordneten Knoten des Movies-Knotens. ElementName gibt den Namen des Elements an, z. B. Titel. ElementValue legt den Wert des untergeordneten Knotens fest, z. B. The Campaign.
- „$root->appendChild($movie_node);“ Hängt die movie_node-Elemente an den Stammknoten Movies an
- „$dom->appendChild($root);“ Hängt den Wurzelknoten an das XML-Dokument an.
- „$dom->save($xml_file_name);“ speichert die XML-Datei im Stammverzeichnis des Webservers.
- „Echo “ . $xml_file_name . ' wurde erfolgreich erstellt';“ erstellt den Link zur XML-Datei.
Testen unserer Anwendung
Angenommen, Sie haben die Datei „create_movies_list“ im Ordner „phptuts/xml“ gespeichert, navigieren Sie zur URL http://localhost/phptuts/xml/create_movies_list.php
Klicken Sie auf den Link movies_list_xml
Zusammenfassung
- XML ist die Abkürzung für Extensible Markup Language
- XML kann zum Austausch von Informationen zwischen Systemen oder zum Speichern von Konfigurationseinstellungen einer Anwendung usw. verwendet werden.
- DOM ist die Abkürzung für Document Object Model. XML DOM betrachtet das XML-Dokument als Baumstruktur
- Ein XML-Parser ist ein Programm, das XML aus einem XML-Dokument in ein DOM-Baumstruktur-ähnliches Dokument übersetzt.
- CDATA wird verwendet, um Sonderzeichen beim Parsen von XML-Dokumenten zu ignorieren.
- PHP verwendet simplexml_load_file um XML-Dokumente zu lesen und die Ergebnisse als numerisches Array zurückzugeben
- PHP DOMDocument-Klasse zum Erstellen von XML-Dateien.