Neueste Web-Entwicklung Tutorials
 

PHP SimpleXML Parser


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.