z pliku o strukturze:
<?xml version="1.0" encoding="utf-8"?> <katalog data="2009-08-10 10:00"> <GrupyTowarowe> <GrupaGlowna id="MAT" nazwa="_Materiały reklamowe"> <PodGrupy> <PodGrupa id="MAT-REK" nazwa="Materiały reklamowe" /> </PodGrupy> </GrupaGlowna> <GrupaGlowna id="AGD" nazwa="AGD - Produkty"> <PodGrupy> <PodGrupa id="AGD-CHL" nazwa="Automaty do pieczenia chleba" /> <PodGrupa id="AGD-POP" nazwa="Automaty do popcornu" /> <PodGrupa id="AGD-LDW" nazwa="Chłodziarki do wina" /> <PodGrupa id="AGD-LOZ" nazwa="Chłodziarko-zamrażarki do zabudowy (lodówki)" /> </PodGrupy> </GrupaGlowna> <GrupaGlowna id="AKC" nazwa="Akcesoria komputerowe"> <PodGrupy> <PodGrupa id="AKC-ADA" nazwa="Adaptery, przejściówki" /> <PodGrupa id="AKC-ABK" nazwa="Akcesoria biurowo - komputerowe" /> <PodGrupa id="AKC-USB" nazwa="Obudowy na HDD i ODD (USB,FireWire,eSATA…)" /> </PodGrupy> </GrupaGlowna> </GrupyTowarowe> </katalog>
potrzebuję wyciągnąć dane tzn id grupy, nazwę grupy i id_podgrupy oraz nazwę podgrupy. Próbowałem przez SimpleXML kodem:
$xml = simplexml_load_file('Plik.xml'); //Ładowanie pliku XML for( $z = 0; $z < $liczba_grup; $z++ ) { for( $y = 0; $y < $liczba_pod_grup; $y++ ) { foreach($xml->GrupyTowarowe->GrupaGlowna[$z]->PodGrupy->PodGrupa[$y]->attributes() as $a => $b) { if ($a=='id'){$produkt_id=$b;} if ($a=='nazwa'){$nazwa=$b;} } } }
i wyświetlają mi się tylko pierwsze podkategorie. proszę o pomoc
