[python] xml parove a neparove tagy

BoneFlute boneflute na taco-beru.name
Čtvrtek Leden 8 15:48:42 CET 2009


Ondrej Beranek napsal(a):
> No ja to opravim ze to samozrejme patri takto:
> 
> 
> import xml.dom.minidom
> from xml.dom.minidom import Node
> 
> doc = xml.dom.minidom.parse('c:\\
> devel\\test\\pokus.xml')
> for step in doc.getElementsByTagName("info"):
>     x = step.getElementsByTagName("description")[0]
>     try:
>      x.nodeValue('popisek')
>     except:
>      x.appendChild(doc.createTextNode('popisek'))
> 
> print doc.toxml('utf-8')
> 
> 
> protoze ta hodnota se udela jen tehdy kdyz se ji nepovede zadat 
> normalne... ale reseni je to desne jednoduchy. A ucinny.

Nechci ti kazit radost, ale zkusil jsi si to? Nejsem si zcela jist, ale 
domnívám se, že nodeValue() v tomto kontextu nelze použít. Ani si 
nedovedu představit co by to mělo vracet, nebo nastavovat.

x.appendChild() můžeš vkládat neomezeně za sebou. Protože se ti vždycky 
vytvoří nějaký ten synovský uzel. Textové nody se ti dokonce sloučí.

Ale máš pravdu, že by bylo čistější si tam pohrát s replaceChild(). Mělo 
to být jen nakopnutí. Manuál to řeší.



--
BF


Další informace o konferenci Python