Hallo zusammen,
ich habe ein Problem beim Auswerten einer XML-Datei mittels PHP.
Mittels einer foreach-Schleife schreibe ich die Daten in ein Array, das klappt auch ganz gut. Allerdings habe ich das Problem, dass <notdienste> manchmal 3 Sub-Einträge hat und manchmal 10. Ich würde das ganze mittels einer for-Zählschleife lösen for($i = 0; $i <= $count($apotheke->notdienste->termin; $++)
Allerdings kann ich die for-Schleife nicht ins Array schreiben.
Habt ihr eine Idee?
Vielen Dank für eure Hilfe
ich habe ein Problem beim Auswerten einer XML-Datei mittels PHP.
Mittels einer foreach-Schleife schreibe ich die Daten in ein Array, das klappt auch ganz gut. Allerdings habe ich das Problem, dass <notdienste> manchmal 3 Sub-Einträge hat und manchmal 10. Ich würde das ganze mittels einer for-Zählschleife lösen for($i = 0; $i <= $count($apotheke->notdienste->termin; $++)
Allerdings kann ich die for-Schleife nicht ins Array schreiben.
Habt ihr eine Idee?
Vielen Dank für eure Hilfe
Code:
<apotheke id="100001" lak="akb"> <aponet>akb100001</aponet> <name>Apotheke Alt Buckow</name> <strasse>Alt-Buckow 9 - 11</strasse> <plz>12349</plz> <ort>Berlin</ort> <telefon>030 6259026</telefon> <notdienste> <termin id="257960125" startdatum="27.01.2015" startzeit="09:00" enddatum="28.01.2015" endzeit="08:55"/> <termin id="257960122" startdatum="23.02.2015" startzeit="09:00" enddatum="24.02.2015" endzeit="08:55"/> <termin id="" startdatum="22.03.2015" startzeit="09:00" enddatum="23.03.2015" endzeit="08:55"/> </notdienste> <lat>0</lat><lng>0</lng></apotheke>
PHP-Code:
$xmlFile = 'file.xml';
if (file_exists($xmlFile))
{
$xml = simplexml_load_file($xmlFile);
foreach ( $xml->apotheke as $apotheke)
{
$ausgabe[] = array(
"Name" => strval($apotheke->name),
"Straße" => strval($apotheke->strasse),
"PLZ" => strval($apotheke->plz),
"Stadt" => strval($apotheke->ort),
"Telefon" => strval($apotheke->phone),
"Latitude" => floatval($apotheke->lat),
"Longitude" => floatval($apotheke->lng),
);
}
} else {
exit("Datei $xmlFile kann nicht geöffnet werden.");
}
Kommentar