PHP – XML bestanden uitlezen
In dit voorbeeld laat ik zien hoe je met een PHP script een XML bestand kan uitlezen.
PHP SimpleXML
Hieronder vind je een voorbeeld bestand, welke we gaan uitlezen, je kan een bestand aanmaken en deze inhoud kopiëren en plakken:
1 2 3 4 5 6 7 8 9 10 11 12 |
<project naam="Mijn project" eigenaar="DomoticX"> <subproject naam="Een subproject" info="Oud"> <tekst>Hallo wereld!</tekst> <datum>2014.01.01</datum> <admin bericht="Dit is het oude project!"/> </subproject> <subproject naam="Tweede subproject" info="Nieuw"> <tekst>Hallo maan!</tekst> <datum>2015.02.02</datum> <admin bericht="Dit is het nieuwe project!"/> </subproject> </project> |
Het PHP script (bijvoorbeeld test.php in dezelfde map) om de XML en de waarden uit te lezen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?php $xml = simplexml_load_file("test.xml") or die("Fout: Kan het object niet maken!"); // of // $xml = new SimpleXMLElement(file_get_contents("test.xml"), NULL, FALSE) or die("Fout: Kan het object niet maken!"); $project_naam = $xml->attributes()->naam; $project_eigenaar = $xml->attributes()->eigenaar; $subproject_naam01 = $xml->subproject[0]['naam']; $subproject_info01 = $xml->subproject[0]['info']; $subproject_tekst01 = $xml->subproject[0]->tekst; $subproject_datum01 = $xml->subproject[0]->datum; $subproject_admin01 = $xml->subproject[0]->admin[0]['bericht']; $subproject_naam02 = $xml->subproject[1]['naam']; $subproject_info02 = $xml->subproject[1]['info']; $subproject_tekst02 = $xml->subproject[1]->tekst; $subproject_datum02 = $xml->subproject[1]->datum; $subproject_admin02 = $xml->subproject[1]->admin[0]['bericht']; echo $project_naam . " door: " . $project_eigenaar . "<br><br>"; echo "Subproject: " . $subproject_naam01 . " (" . $subproject_info01 . ")<br>"; echo "Datum: " . $subproject_datum01 . "<br>"; echo "Tekst: " . $subproject_tekst01 . "<br>"; echo "Admin bericht: " . $subproject_admin01. "<br><br>"; echo "Subproject: " . $subproject_naam02 . " (" . $subproject_info02 . ")<br>"; echo "Datum: " . $subproject_datum02 . "<br>"; echo "Tekst: " . $subproject_tekst02 . "<br>"; echo "Admin bericht: " . $subproject_admin02. "<br><br>"; ?> |
Zodra je het bovenstaande script uitvoert, is dit het resultaat:
1 2 3 4 5 6 7 8 9 10 11 |
Mijn project door: DomoticX Subproject: Een subproject (Oud) Datum: 2014.01.01 Tekst: Hallo wereld! Admin bericht: Dit is het oude project! Subproject: Tweede subproject (Nieuw) Datum: 2015.02.02 Tekst: Hallo maan! Admin bericht: Dit is het nieuwe project! |