Autor Zpráva
majorko
Profil *
Ahojte chcem sa spytat mam taky problemik snazim sa rozobrat jedno xml prostrednictvom php a mam problem stym ze v xml je diaktitika. mam nasledujuci tvar:

<atributy>
<rozměr>70A, 70B, 70C, 70D, 75A, 75B, 75C, 75D, 80A, 80B, 80C, 80D, 75E</rozměr>
</atributy>

a ja sa ktomu dostavam takto:

$velkost = $xml->atributy->rozměr;

vsetko bz fungovalo ako ma len problem je to ze v slove rozměr je e s mekcenom a podla mna preto mu to nechce zobrazit.
viete mi poradit ako sa ku tomu dostat?.

lebo ked mam nieco taketo:

<atributy>
<velikost>S, M, L, XL</velikost>
</atributy>

$velkost = $xml->atributy->velikost;


takto sa do toho bez problemou dostanem.
Werewolf
Profil
Hmm.. Nepoužívat diakritiku v tazích??
majorko
Profil *
no xml je pevne dane. a podla informacii ktore mam by to malo fungovat.
AM_
Profil
to by klidně mohlo fungovat, ale co je to za hroznou třídu, která si vytváří členské proměnné přesně podle názvu tagu? nemělo by to být třeba asociativní pole nebo tak něco?
Aesir
Profil
majorko:
Zkuste ten atribut adresovat přes xpath.
majorko
Profil *
xpath? stymto som sa este nestretol ako by sa to dalo.
Aesir
Profil
AM_:
to by klidně mohlo fungovat, ale co je to za hroznou třídu, která si vytváří členské proměnné přesně podle názvu tagu? nemělo by to být třeba asociativní pole nebo tak něco?
To je snad běžná praxe přetěžování.

majorko
xpath? stymto som sa este nestretol ako by sa to dalo.
To záleží na použitém parseru, mrkněte do jeho dokumentace.
majorko
Profil *
ja pouzivam takyto sposob parseru

$xml = fread($subor,filesize("bezvaceny.xml"));
$xml = simplexml_load_string($xml);
Aesir
Profil
majorko:
Na soubor můžete použít rovnou simplexml-load-file.
Následně zkuste metodu xpath, jestli diakritiku pobere.
Popřípadě můžete jít přes děti elementu <atributy>.

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: