Hej,
Mam taki problem:
Próbuje wychwycić wszystkie dane z pliku XML, ale nie wiem na czym się oprzeć przy drugim węźle <eventdate> - nie ma tutaj atrybutów.
Węzłów <event> posidajączch różne "id" jest więcej niż na przykładzie, dlatego w przykładzie jest pętla foreach.
Wczoraj przejrzałem manual i nie znalazłem niczego co bym mógł wykorzystać.
Wie ktoś jak to rozkminić?
XML:
<?xml version="1.0" encoding="utf-8"?>
<root type="full">
<event id="195127">
<eventname>Kult</eventname>
<venues>
<venue>
<venuename>Klub Stodoła</venuename>
<city>Warszawa</city>
<eventdates>
<eventdate>
<date>04/11/2009</date>
<time>19:00</time>
</eventdate>
<eventdate>
<date>05/11/2009</date>
<time>19:00</time>
</eventdate>
</eventdates>
</venue>
</venues>
</event>
</root>
PHP:
<?
$xml = simplexml_load_file('pojedynczy_jednasala_wieledatl.xml');
global $i;
$i=0;
foreach ($xml->event as $thisevent)
{
echo "<br />";
echo $thisevent['id'];
echo " - ";
$eventname = $xml->event[$i]->eventname;;
echo $eventname;
echo " - ";
$venuename = $xml->event[$i]->venues->venue->venuename;
echo $venuename;
echo " - ";
$city = $xml->event[$i]->venues->venue->city;
echo $city;
echo " - ";
$date = $xml->event[$i]->venues->venue->eventdates->eventdate->date;
echo $date;
echo " - ";
$time = $xml->event[$i]->venues->venue->eventdates->eventdate->time;
echo $time;
$i++;
}
?>
Wynik:
195127 - Kult - Klub Stodoła - Warszawa - 04/11/2009 - 19:00
Powinno być:
195127 - Kult - Klub Stodoła - Warszawa - 04/11/2009 - 19:00 - 05/11/2009 - 19:00