Autor Zpráva
raki
Profil *
Jak procházet v XML jednotlivé vnořené elementy pomocí PHP?
Mam skript, se kterým procházím jednotlivé položky dokonce vytáhnu i categories, problem je v tom, že ty kategorie se mi načtou jen jednou a u každého zboží zůstanou stejné kategorie. Jako by už nefungoval v těch podkategoriích foreach.
Co dělám za chybu?


Mám XML
<?xml version="1.0" encoding="utf-8" ?>
<import_zasoby>
        <products>
            <product>
            <name>Silikonová masážní baňka - 36 mm </name>
            <name_slog>silikonova-masazni-banka---36-mm-</name_slog>
            <!-- ID zbozi - musí být jedinečný slouží pro navázáni produktu -->
            <sku>1</sku>
            <tax>21</tax>
            <categories>
                <category id="82">Celulitida</category>
                <category id="81">Dle příznaků</category_en>
                <category id="84">Masážní baňky</category_en>
            </categories>
            </product>
        <products>
            <product>
            <name>SIXTUS - masážní olej</name>
            <name_slog>sixtus-masazni-olej</name_slog>
            <sku>5</sku>
            <tax>111</tax>
            <categories>
                <category id="44">masážní oleje</category>
                <category id="21">Masáže</category_en>
            </categories>
            </product>
</import_zasoby>


Výsledek je vždy tento:
             Silikonová masážní baňka - 36 mm 
                Celulitida
                Dle příznaků
                Masážní baňky
             SIXTUS - masážní olej
                Celulitida
                Dle příznaků
                Masážní baňky


A skript vypadá takto

foreach($xml->products->product as $zam){
      $cislo++;
       
 $id_product = htmlspecialchars($zam->sku); 
 $nazev = htmlspecialchars($zam->name);
 $cena = htmlspecialchars($zam->price);                      

          echo $nazev." - ".$id_product."<br>"; 

      // produkty = kategorie

    foreach($xml->products->product->categories->category as $kategorie){
            $sparovani_kategorie = htmlspecialchars($kategorie->attributes())."";
           $nazev_kategorie = htmlspecialchars($kategorie);

           echo " - ".$nazev_kategorie." - ".$sparovani_kategorie."<br>";   
     }
}

Kajman
Profil
12   foreach($zam->categories->category as $kategorie){
raki
Profil *
Diky funguje...

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: