mam nadzieję że tutaj mi ktoś pomoże...
kod XML:
<odds_list> <sport id="1000093178" name="Cricket" main_group_id="1000093178"> <pool id="1000093838" name="The Ashes - Series" main_group_id="1000093178"> <event id="1000631358" name="The Ashes 2010/2011 - Winner" event_start="2010-12-20T09:00:00" updated_date="2009-08-24T17:45:04"> <participant id="1000000545" name="Australia"/> <participant id="1000000544" name="England"/> <participant id="1000069779" name="Drawn Series"/> <betOffer id="1001990159" criterion_id="1000100081" criteria="Who will win?" type="4" bet_closes="2010-12-20T09:00:00" type_name="Winner" is_live="false" updated_date="2010-05-03T16:11:49"> <outcome id="76723979" start_no="0" is_scratched="false" label="Australia" updated_date="2009-08-24T17:47:33"> <price id="59599773" odds="1.5" updated_date="2009-08-24T17:47:33"/> </outcome> <outcome id="76724590" start_no="0" is_scratched="false" label="England" updated_date="2009-08-24T17:47:33"> <price id="59599774" odds="3.75" updated_date="2009-08-24T17:47:33"/> </outcome> <outcome id="76724591" start_no="0" is_scratched="false" label="Drawn Series" updated_date="2009-08-24T17:47:33"> <price id="59599775" odds="5.5" updated_date="2009-08-24T17:47:33"/> </outcome> </betOffer> </event> </pool> </sport>
i teraz mam problem z wydobyciem danych z takiego XMLa, przeważnie procaowałem uzywając SimpleXML ale tutaj raczej się nie sprawdzi wiec musze użyć XPath...
Problem w tym że nie wiem jak odpowiednio pobierać "participant" i "outcome", ich liczba w "event" się zmienia...
Na początek chce sobie to wyświetlać w postaci:
sport[name]
----pool[name]
--------event[name]
------------participant[name]
------------participant[name]
------------...
------------betOffer
----------------outcome[label]
----------------price[odds]
----------------outcome[label]
----------------price[odds]
----------------outcome[label]
----------------price[odds]
------------betOffer
----------------outcome[label]
----------------price[odds]
----------------outcome[label]
----------------price[odds]
----------------outcome[label]
----------------price[odds]
----------------...
----pool[name]
--------event[name]
------------...
czyli musi się jakby wykonywać pętla na poszczególnych cześciach dokumentu XML.
np z pobraniem wszystkich elementów event, tylko nic mi to nie daje, muszę jakoś powiązać elementy wewnątrz pool a następnie wewnątrz event...
Jak widać "sport" i "pool" mają wspólny element main_group_id który mógłby ułatwić sprawę jednak elementy które są dalej już ich nie zawieją.
Może ma ktoś jakiś pomysł jak to rozwiązać?
Pozdrawiam