Autor Zpráva
David_
Profil *
Ahoj, mám strukturu XML:
<Kategorie diffgr:id="Kategorie1" msdata:rowOrder="0">
<kod_kategorie>PC STOLNÍ POČÍTAČE</kod_kategorie>
<nazev_kategorie>Stolní počítače</nazev_kategorie>
<Podkategorie diffgr:id="Podkategorie1" msdata:rowOrder="0">
<kod_kategorie>PC STOLNÍ POČÍTAČE</kod_kategorie>
<kod_podkategorie>SKLADEM</kod_podkategorie>
<nazev_podkategorie>Akční nabídka skladem</nazev_podkategorie>
</Podkategorie>
<Podkategorie diffgr:id="Podkategorie2" msdata:rowOrder="1">
<kod_kategorie>PC STOLNÍ POČÍTAČE</kod_kategorie>
<kod_podkategorie>EKONOMICKÁ PC</kod_podkategorie>
<nazev_podkategorie>Ekonomická PC</nazev_podkategorie>
</Podkategorie>
<Podkategorie diffgr:id="Podkategorie3" msdata:rowOrder="2">
<kod_kategorie>PC STOLNÍ POČÍTAČE</kod_kategorie>
<kod_podkategorie>KANCELÁŘSKÉ PC</kod_podkategorie>
<nazev_podkategorie>Kancelářské PC</nazev_podkategorie>
</Podkategorie>
</Kategorie>
<Kategorie diffgr:id="Kategorie2" msdata:rowOrder="1">
<kod_kategorie>PC NOTEBOOKY</kod_kategorie>
<nazev_kategorie>Notebooky</nazev_kategorie>
<Podkategorie diffgr:id="Podkategorie9" msdata:rowOrder="8">
<kod_kategorie>PC NOTEBOOKY</kod_kategorie>
<kod_podkategorie>INTEL CELERON M</kod_podkategorie>
<nazev_podkategorie>Intel Celeron M</nazev_podkategorie>
</Podkategorie>
<Podkategorie diffgr:id="Podkategorie10" msdata:rowOrder="9">
<kod_kategorie>PC NOTEBOOKY</kod_kategorie>
<kod_podkategorie>INTEL CELERON DUO</kod_podkategorie>
<nazev_podkategorie>Intel Celeron Dual Core</nazev_podkategorie>
</Podkategorie>
<Podkategorie diffgr:id="Podkategorie11" msdata:rowOrder="10">
<kod_kategorie>PC NOTEBOOKY</kod_kategorie>
<kod_podkategorie>INTEL PENTIUM M</kod_podkategorie>
<nazev_podkategorie>Intel Pentium M</nazev_podkategorie>
</Podkategorie>
<Podkategorie diffgr:id="Podkategorie12" msdata:rowOrder="11">
<kod_kategorie>PC NOTEBOOKY</kod_kategorie>
<kod_podkategorie>INTEL CORE DUO</kod_podkategorie>
<nazev_podkategorie>Intel Dual Core</nazev_podkategorie>
</Podkategorie>
</Kategorie>

Potřebuji zde vnořenými cykly vybrat:
1. Kategorii a informace
pak vnorenym cyklem vnorene podkategorie
pak dalsi kategorii
pak v ni vnorene podkategorie
atd...

Zkoušel jsem toto:
problém zde byl, že mi to vybralo pokaždé úplně všechny podkategorie, ne pouze podkategorie vnořené v té dané kategorii...

foreach ($this->elements as $elementy) {

$empty = $elementy->getElementsByTagName("kod_kategorie");
if(empty($empty)) {
continue;
}

$elementyKod = $elementy->getElementsByTagName("kod_kategorie");
foreach($elementyKod as $elementKod) {
$kod = $elementKod->nodeValue;
$kod = str_ireplace("'","\'", $kod);
$kod = str_ireplace('"','\"', $kod);
}

$elementyNazev = $elementy->getElementsByTagName("nazev_kategorie");
foreach($elementyNazev as $elementNazev) {
$nazev = $elementNazev->nodeValue;
$nazev = str_ireplace("'","\'", $nazev);
$nazev = str_ireplace('"','\"', $nazev);
}

$podkategoriePole = $this->client->getElementsByTagName("Podkategorie");

foreach($podkategoriePole as $podkategorie) {
$elementyKodNadrazene = $elementy->getElementsByTagName("kod_kategorie");
foreach($elementyKodNadrazene as $elementKodNadrazene) {
$kodNadrazene = $elementKodNadrazene->nodeValue;
}
if($kodNadrazene != $kod) {
continue;
}

$elementyKod = $elementy->getElementsByTagName("kod_podkategorie");
foreach($elementyKod as $elementKod) {
$kodPodkategorie = $elementNazev->nodeValue;
}
$elementyNazev = $elementy->getElementsByTagName("nazev_podkategorie");
foreach($elementyNazev as $elementNazev) {
$nazevPodkategorie = $elementNazev->nodeValue;
}
}
David_
Profil *
Fakt nikdo nevíte?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0