simplexml_load_string
(PHP 5, PHP 7, PHP 8)
simplexml_load_string — Übersetzt einen XML-String in ein Objekt
Beschreibung
string
$data
,?string
$class_name
= SimpleXMLElement::class,int
$options
= 0,string
$namespace_or_prefix
= "",bool
$is_prefix
= false
): SimpleXMLElement|false
Die Funktion erwartet einen wohlgeformten (well-formed) XML-String und gibt ihn als Objekt zurück.
Parameter-Liste
-
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
-
Seit Libxml 2.6.0 kann zusätzlich der Parameter
options
verwendet werden, um weitere Libxml-Parameter anzugeben. -
namespace_or_prefix
-
Namensraum-Präfix oder URI.
-
is_prefix
-
true
, wennnamespace_or_prefix
ein Präfix ist,false
, wenn er ein URI ist. Standardwert istfalse
.
Rückgabewerte
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.
Fehler/Exceptions
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.
Beispiele
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.
Siehe auch
- simplexml_load_file() - Übersetzt eine XML-Datei in ein Objekt
- SimpleXMLElement::__construct() - Erstellt ein neues SimpleXMLElement-Objekt
- Behandlung von XML-Fehlern
- libxml_use_internal_errors() - Disable libxml errors and allow user to fetch error information as needed
- Grundlegende Verwendung von SimpleXML