SimpleXML ist eine PHP-Erweiterung, die uns auf einfache Weise zu manipulieren und XML-Daten.
Die SimpleXML Parser
SimpleXML ist ein Baum-basierte Parser.
SimpleXML bietet eine einfache Möglichkeit eines Elements Namen bekommen, Attribute und Textinhalte, wenn Sie die XML-Dokumentstruktur oder Layout kennen.
SimpleXML schaltet sich ein XML-Dokument in eine Datenstruktur, die Sie durch wie eine Sammlung von Arrays und Objekte laufen kann.
Im Vergleich zu dem DOM oder Expat Parser nimmt SimpleXML ein weniger Codezeilen von Textdaten von einem Element zu lesen.
Installation
Ab PHP 5 sind die Funktionen SimpleXML Teil des PHP-Kern. Eine Installation ist nicht erforderlich, um diese Funktionen zu nutzen.
PHP SimpleXML - Lesen von String
Die PHP simplexml_load_string() Funktion wird verwendet , XML - Daten aus einem String zu lesen.
Angenommen, wir eine Variable, die XML-Daten enthält, wie folgt aus:
$myXMLData =
"<?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 folgende Beispiel zeigt , wie die verwenden simplexml_load_string() Funktion , um XML - Daten aus einem String zu lesen:
Beispiel
<?php
$myXMLData =
"<?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>";
$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create
object");
print_r($xml);
?>
Führen Sie zB » Der Ausgang des Code oben wird sein:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder
[body] => Don't forget me this weekend! )
Fehlerbehandlung Tipp: Verwenden Sie die libxml Funktionalität alle XML - Fehler abzurufen , wenn das Dokument geladen und dann über die Fehler wiederholen. Das folgende Beispiel versucht, eine gebrochene XML-Zeichenfolge zu laden:
Beispiel
<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml
version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";
$xml = simplexml_load_string($myXMLData);
if ($xml
=== false) {
echo "Failed loading XML: ";
foreach(libxml_get_errors() as $error) {
echo "<br>" , $error->message;
}
} else {
print_r($xml);
}
?>
Führen Sie zB » Der Ausgang des Code oben wird sein:
Failed loading XML:
Opening and ending tag mismatch: user line 3 and
wronguser
Opening and ending tag mismatch: email line 4 and wrongemail
PHP SimpleXML - Lesen aus einer Datei
Die PHP simplexml_load_file() Funktion wird verwendet , XML - Daten aus einer Datei zu lesen.
Angenommen , wir eine XML - Datei namens „ note.xml “, die wie folgt aussieht:
<?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 folgende Beispiel zeigt , wie die verwenden simplexml_load_file() Funktion , um XML - Daten aus einer Datei zu lesen:
Beispiel
<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create
object");
print_r($xml);
?>
Führen Sie zB » Der Ausgang des Code oben wird sein:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder
[body] => Don't forget me this weekend! )
Tipp: Das nächste Kapitel zeigt , wie man / Knotenwert aus einer XML - Datei mit SimpleXML abrufen!
Mehr PHP SimpleXML
Weitere Informationen über die SimpleXML Funktionen PHP, besuchen Sie unsere PHP SimpleXML Referenz.