xml : remove a node with dom
Diez B. Roggisch
deets at web.de
Thu Oct 28 07:47:21 EDT 2010
alain walter <alain.serge.walter at gmail.com> writes:
> Hello,
> I have many difficulties to manipulate xml routines. I'm working with
> python 2.4.4 and I cannot change to a more recent one, then I use dom
> package, why not.
> In the following code, I'm trying unsuccessfully to remove a
> particular node. It seems to me that it should be basic, but it's
> not.
> Thanks for your help
If you post code, make an attempt for it to be runnable. I had to fix
numerous simple errors to make it run & actually solve your problem.
from xml.dom.minidom import parse,parseString
from xml.dom import Node
toxml="""
<aixm:VORTimeSlice xmlns:aixm="aixm" xmlns:gml="gml" gml:id="ABB">
<aixm:type>ABB</aixm:type>
<aixm:designator>ABB</aixm:designator>
<aixm:ElevatedPoint gml:id="ABB" srsDimension="2">
<gml:pos srsDimension="2">-51.23 4.6501</gml:pos>
<aixm:elevation uom="M">xxx_toremove_xxx</aixm:elevation>
</aixm:ElevatedPoint>
</aixm:VORTimeSlice>"""
dom = parseString(toxml)
def ApplicationWhitespaceRemoving(ele) :
for c in ele.childNodes:
if c.nodeType == c.TEXT_NODE:
if c.nodeValue == "xxx_toremove_xxx":
parent = c.parentNode
parent.removeChild(c)
elif c.nodeType == ele.ELEMENT_NODE:
ApplicationWhitespaceRemoving(c)
ApplicationWhitespaceRemoving(dom)
print dom.toxml()
--
Diez
More information about the Python-list
mailing list