(PHP 5, PHP 7)
simplexml_load_string — Übersetzt einen XML-String in ein Objekt
$data
[, string $class_name = "SimpleXMLElement"
[, int $options = 0
[, string $ns = ""
[, bool $is_prefix = FALSE
]]]] ) : SimpleXMLElementDie Funktion erwartet einen wohlgeformten (well-formed) XML-String und gibt ihn als Objekt zurück.
dataEin wohlgeformter XML-String.
class_name
Sie können den optionalen Parameter class_name
verwenden, wenn simple_load_string() ein Objekt der
spezifischen Klasse zurückgeben soll. Die gewählte Klasse sollte von der
Klasse SimpleXMLElement abgeleitet sein.
options
Seit PHP 5.1.0 und Libxml 2.6.0 können Sie zusätzlich den Parameter
options verwenden, um weitere Libxml-Parameter anzugeben.
nsNamespace Präfix oder URI.
is_prefix
TRUE wenn ns ein Präfix ist, FALSE wenn er
eine URI ist. Standardwert ist FALSE.
Gibt ein Objekt der Klasse
SimpleXMLElement zurück, dessen Eigenschaften die Daten
beinhalten, wie sie im XML-Dokument abgebildet sind. Tritt ein Fehler auf,
wird FALSE zurück gegeben.
Diese Funktion kann sowohl das
boolsche FALSE zurückliefern, als auch einen nicht-boolschen Wert, welcher zu FALSE ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
boolschen Typen. Benutzen Sie deshalb
den === Operator,
um den Rückgabewert dieser Funktion zu überprüfen.
Generiert eine Fehlermeldung vom Typ E_WARNING für
jeden in den XML-Daten gefundenen Fehler.
Verwendet libxml_use_internal_errors(), um alle XML-Fehlermeldungen auszublenden, und libxml_get_errors(), um danach darüber zu iterieren.
| Version | Beschreibung |
|---|---|
| 5.2.0 |
Der optionale Parameter is_prefix wurde hinzugefügt.
|
Beispiel #1 Einen XML-String auswerten
<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
<title>Zweiundvierz...?</title>
<from>Joe</from>
<to>Jane</to>
<body>
Ich kenne die Antwort -- aber was ist die Frage?
</body>
</document>
XML;
$xml = simplexml_load_string($string);
print_r($xml);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
SimpleXMLElement Object ( [title] => Zweiundvierz...? [from] => Joe [to] => Jane [body] => Ich kenne die Antwort -- aber was ist die Frage? )
Ab diesem Punkt können Sie $xml->body etc. verwenden.