[python] xml parove a neparove tagy
BoneFlute
boneflute na taco-beru.name
Čtvrtek Leden 8 16:48:07 CET 2009
Ondrej Beranek napsal(a):
> ano zkousel. Node Value lze pouzit pokud je to <tag></tag> pokud se to
> nepovede tak se musi vytvorit.
Opravdu?
Pokud ano, tak by to bylo dosti podivné chování. Ale jak si tu tady s
tím hraji, tak se chová podle očekávání. Tedy vždycky vyhodí výjimku:
TypeError: 'NoneType' object is not callable
Aby bylo rozuměno, on mezi <tag></tag> a <tag/> opravdu není žádný rozdíl.
Jestli chování té třídy chápu dobře, tak nodeValue vrací hodnotu
textového uzlu. Vzhledem k tomu, že <tag></tag> ani <tag>Lorem
ipsum.</tag> ani <tag/> textový uzel není, tak musí vrátit None.
Pokud z <tag>Lorem ipsum.</tag> chceš získat ten text tak nejdřív musíš
získat textový uzel třeba tímto způsobem:
print doc.getElementsByTagName("description")[0].childNodes[0].nodeValue
V případě <tag></tag> i <tag/> by to mělo vyhodit výjimku, protože žádný
uzel, natož textový neobsahuje.
Obávám se, že jsi se napálil tím ošetřením výjimky.
--
BF
Další informace o konferenci Python