(PHP 5, PHP 7, PHP 8)
simplexml_load_string — Übersetzt einen XML-String in ein Objekt
$data
,$class_name
= SimpleXMLElement::class,$options
= 0,$namespace_or_prefix
= "",$is_prefix
= false
Die Funktion erwartet einen wohlgeformten (well-formed) XML-String und gibt ihn als Objekt zurück.
data
Ein wohlgeformter XML-String.
class_name
Der optionale Parameter class_name
kann
verwendet werden, wenn simplexml_load_string() ein
Objekt der spezifischen Klasse zurückgeben soll. Die gewählte Klasse
sollte von der Klasse SimpleXMLElement abgeleitet sein.
options
Bitweises OR
von libxml-Konstanten für weitere Optionen.
namespace_or_prefix
Namensraum-Präfix oder URI.
is_prefix
true
, wenn namespace_or_prefix
ein Präfix ist,
false
, wenn er ein 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ückgegeben.
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.
libxml_use_internal_errors() kann hier verwendet werden, um alle XML-Fehlermeldungen auszublenden, und libxml_get_errors(), um danach darüber zu iterieren.
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.