simplexml_load_string

(PHP 5, PHP 7)

simplexml_load_stringÜbersetzt einen XML-String in ein Objekt

Beschreibung

simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = FALSE ]]]] ) : SimpleXMLElement

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

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.

ns

Namespace Präfix oder URI.

is_prefix

TRUE wenn ns ein Präfix ist, FALSE wenn er eine URI ist. Standardwert ist FALSE.

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ück gegeben.

Warnung

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.

Tipp

Verwendet libxml_use_internal_errors(), 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