PHP SimpleXML übernimmt die häufigsten XML-Aufgaben und überlässt den Rest anderen Erweiterungen.
SimpleXML ist eine neue Funktion in PHP 5.
Die SimpleXML-Erweiterung bietet eine einfache Möglichkeit, den Namen und Text von XML-Elementen abzurufen.
Im Vergleich zu DOM- oder Expat-Parsern kann SimpleXML mit nur wenigen Codezeilen Textdaten aus XML-Elementen lesen.
SimpleXML kann XML-Dokumente (oder XML-Strings) in Objekte konvertieren, wie zum Beispiel:
Das Element wird in eine einzelne Eigenschaft eines SimpleXMLElement-Objekts umgewandelt. Wenn mehrere Elemente auf derselben Ebene vorhanden sind, werden sie in einem Array platziert.
Der Zugriff auf Eigenschaften erfolgt über ein assoziatives Array, wobei der Index dem Eigenschaftsnamen entspricht.
Der Text innerhalb des Elements wird in eine Zeichenfolge umgewandelt. Wenn ein Element über mehrere Textknoten verfügt, werden diese in der Reihenfolge angeordnet, in der sie gefunden werden.
SimpleXML ist sehr schnell zu verwenden, wenn grundlegende Aufgaben ausgeführt werden wie:
Daten aus XML-Dateien/Strings lesen/extrahieren
Bearbeiten Sie den Textknoten oder das Textattribut
Wenn Sie jedoch mit erweitertem XML arbeiten, beispielsweise Namespaces, ist es besser, den Expat-Parser oder das XML-DOM zu verwenden.
Ab PHP 5 gehören SimpleXML-Funktionen zum Kern von PHP. Für die Nutzung dieser Funktionen ist keine Installation erforderlich.
Angenommen, wir haben die folgende XML-Datei „note.xml“:
<? xml Version = „ 1.0 “ Encoding = " ISO-8859-1 " ?> <Anmerkung> < an > Tove </ an > < von > Jani </ von > < heading > Erinnerung </ heading > < body > Vergiss mich dieses Wochenende nicht </ body > </ Hinweis >Nun wollen wir verschiedene Informationen aus der obigen XML-Datei ausgeben:
Geben Sie die Schlüssel und Elemente der Variablen $xml aus (die ein SimpleXMLElement-Objekt ist):
<?php $xml = simplexml_load_file ( " note.xml " ) ; print_r ( $ xml ) ;Der obige Code gibt Folgendes aus:
SimpleXMLElement-Objekt ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Vergiss mich dieses Wochenende nicht! )
Ausgabedaten für jedes Element in einer XML-Datei:
<?php $xml = simplexml_load_file ( " note.xml " ) ; echo $xml - > zu . " <br> " ; $xml - > von . " <br> " ; $xml - > Überschrift . " <br> " ; $xml -> Körper ? >Der obige Code gibt Folgendes aus:
ToveJaniReminderVergiss mich dieses Wochenende nicht!
Geben Sie den Elementnamen und die Daten für jeden untergeordneten Knoten aus:
<?php $xml = simplexml_load_file ( " note.xml " ) ; echo $xml -> getName ( ) . " <br> " ; foreach ( $xml -> children ( ) als $kind ) { Echo $ child - > getName ( ) : " $ child .?>Der obige Code gibt Folgendes aus:
Notiz an: Tovefrom: Janiheading: Reminderbody: Vergiss mich dieses Wochenende nicht!
Um mehr über PHP SimpleXML-Funktionen zu erfahren, besuchen Sie unser PHP SimpleXML-Referenzhandbuch.