Witam.
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
$liczba_grup=count($xml->GrupyTowarowe->GrupaGlowna); echo "<Br>Liczba grup:$liczba_grup<br>"; for( $z = 0; $z < $liczba_grup; $z++ )
{
$liczba_pod_grup=count($xml->GrupyTowarowe->GrupaGlowna[$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;}
echo "$produkt_id;$nazwa<br>"; }
}
}
i wyświetlają mi się tylko pierwsze podkategorie. proszę o pomoc (IMG:
style_emoticons/default/winksmiley.jpg)