(PHP 5, PHP 7)
simplexml_load_file — Übersetzt ein XML-File in ein Objekt
$filename
[, string $class_name
= "SimpleXMLElement"
[, int $options
= 0
[, string $ns
= ""
[, bool $is_prefix
= FALSE
]]]] ) : SimpleXMLElementDie Funktion wandelt das übergebene wohlgeformte (well-formed) XML-Dokument in ein Objekt um.
filename
Pfad zur XML-Datei.
Hinweis:
Libxml 2 demaskiert den URI, wollen Sie also zum Beispiel
b&c
als Wert für den URI Parametera
verwenden, müssen Sie die Funktion wie folgt aufrufen:simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c')))
. Seit PHP 5.1.0 wird Ihnen dieser Schritt von PHP abgenommen.
class_name
Sie können den optionalen Parameter class_name
verwenden, wenn simple_load_file() 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
.
Gibt ein object der Klasse SimpleXMLElement zurück,
dessen Eigenschaften die Daten des XML-Dokuments enthalten. Im Fehlerfall
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.
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 Ein XML-Dokument auswerten
<?php
// Die Datei test.xml enthält ein XML-Dokument mit einem Wurzel-Element
// und mindestens einem Element /[root]/title.
if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');
print_r($xml);
} else {
exit('Konnte test.xml nicht öffnen.');
}
?>
Das Skript gibt nach erfolgreichem Laden folgendes aus:
SimpleXMLElement Object ( [title] => Beispiel-Titel ... )
Ab diesem Punkt können Sie $xml->title
und andere
Elemente verwenden.