Es wird in diesem PHP Tutorial erklärt, wie man eine XML-Datei mit PHP einlesen kann. Als Erstes benötigen wir die XML-Datei, die wir einlesen wollen. Nachfolgend der Inhalt für die XML-Datei. In unserem Beispielnennen wir die XML-Datei: xml_datei.xml und speichern diese im gleichen Verzeichnis wie unser PHP Script. Öffnen Sie hierzu einen Texteditor und kopieren Sie den nachfolgenden Inhalt hinein. Danach müssen Sie diese Datei speichern unter: xml_datei.xml
Code für xml_datei.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<verzeichnis>
<titel>Städteverzeichnis</titel>
<eintrag>
<stichwort>Erfurt</stichwort>
<eintragstext>Erfurt ist die Hauptstadt von ...</eintragstext>
</eintrag>
<eintrag>
<stichwort>Jena</stichwort>
<eintragstext>Jena ist bekannt für...</eintragstext>
</eintrag>
</verzeichnis>
Nun kommen wir zu unsern PHP Script. Das PHP Script kann x-beliebig benannt werden. Wichtig ist nur, dass die PHP-Datei im gleichen Verzeichnis wie die XML-Datei liegt. Bei den PHP Script habe ich Kommentare eingefügt, die alle wesentlichen Funktionen ausführlich erklärt.
PHP-Code für unsern Prase
<?php
header('Content-Type: text/html; charset=utf-8');
/**
* Den Pfad zu der XML-Datei mit einschließlich
* den Dateinamen
*/
$xml_datei='xml_datei.xml';
/**
* Hier wird, geprüft, ob die XML-Datei existiert
*/
if (@file_exists($xml_datei)!=false) {
/**
* Mit der PHP Funktion simplexml_load_file()
* wird die XML-Datei eingelesen und anschließend
* als Objekt in der Variable $xml_object gespeichert.
*/
$xml_object = simplexml_load_file($xml_datei);
/**
* Prüfen ob in der Variable $xml_object
* ein Objekt vorhanden ist.
*/
if(is_object($xml_object->eintrag)==true){
/**
* Nun wird mit einer sogenannten
* foreach-Schleife das Objekt durchlaufen.
*/
foreach($xml_object->eintrag as $key =>$value){
/**
* Ausgabe der einzelnen Objekte
*/
echo '<b>'.$value->stichwort.'</b><br>';
echo $value->eintragstext.'<br>';
}
}
} else {
/**
* Falls die XML-Datei nicht
* geöffnet werden konnte, brechen
* wir das Script mit exit() ab.
*/
exit('Konnte '.$xml_datei.' nicht öffnen.');
}
?>
Die Ausgabe würde folgendermaßen aussehen:
Erfurt
Erfurt ist die Hauptstadt von ...
Jena
Jena ist bekannt für...
Erklärung:
Die obige PHP-Methode ermöglicht das Auslesen einer XML-Datei mit dem SimpleXML-Befehl. SimpleXML ist ein PHP-Modul, das ein XML-Dokument in ein Objekt konvertiert und es dem Programmierer ermöglicht, die XML-Daten einfach zu verarbeiten.
Zunächst wird die Variable $xml_datei mit dem vollständigen Pfad zur XML-Datei initialisiert. Dann wird mit der Datei-Existenzfunktion „file_exists()“ überprüft, ob die XML-Datei vorhanden ist. Falls dies der Fall ist, wird sie mit der simplexml_load_file()-Funktion eingelesen und in der Variablen $xml_object als Objekt gespeichert.
Anschließend wird überprüft, ob in der Variablen $xml_object ein Objekt vorhanden ist. Falls dies der Fall ist, wird eine sogenannte foreach-Schleife verwendet, um das Objekt durchzulaufen. Der Inhalt wird dann in eine HTML-Ausgabe überführt und auf der Seite angezeigt.
Sollte die XML-Datei nicht geöffnet werden können, wird das Script mit der exit()-Funktion beendet.
Fazit: Sie sehen selbst, es ist sehr einfach, mit relativ wenig PHP Code eine XML-Datei einzulesen. Solltet ihr noch Fragen zu diesen Tutorial haben, so nutzt einfach unser Forum hierzu.