Autor Zpráva
radas
Profil *
Zdravím,
zpracovávám xml soubor a jsem trochu na rozpacích...
xml soubor
<LISTS>
  <CATEGORIES>
    <ITEM id="2736" parent="3372" typ="sekce">Kosmetická péče o nohy</ITEM>
    <ITEM id="2737" parent="3371" typ="sekce">Kosmetická péče o oční okolí</ITEM>
    <ITEM id="2738" parent="3371" typ="sekce">Kosmetická péče o rty</ITEM>
  </CATEGORIES>
</LISTS>


zpracovaní

$xml = simplexml_load_file('data.xml');

foreach ($xml->LISTS->CATEGORIES->ITEM as $item) 
{
	if($item['typ']=="sekce")$category[$item['id']]= $item;
}


tak mi to vyhodí takovou to hlášku

Warning: Illegal offset type in.......


přitom když v tom cyklu dám echo $item['id'] tak se mi zobrazuji čisla normálně...nic mě nenapada proč tomu tak je...
okolojdouci
Profil *
radas:
Co si slibuješ od tohoto?

$category[$item['id']]= $item
V jednom přiřazení pracuješ s $item jednou jako s polem, jednou jako s ne-polem.
__construct
Profil
radas:
Na prístup k atribútom objektu SimpleXMLElement sa používa metóda SimpleXMLElement::attributes()

V Tvojom prípade:
foreach($xml->CATEGORIES->ITEM as $item)
{
    foreach($item->attributes() as $atribut => $hodnota)
    {
        printf("%s => %s\n",$atribut,$hodnota);
    }
}

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