(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.
filenamePfad zur XML-Datei.
Hinweis:
Libxml 2 demaskiert den URI, wollen Sie also zum Beispiel
b&cals Wert für den URI Parameteraverwenden, 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.
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 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.