New submission from Javier Domingo: Hi I found something like a bug, I can't get this working:
import xml.dom.minidom as minidom document="""<a> <b> <c /> <c /> </b> </a>""" dom = minidom.parseString(document) dom.childNodes dom.childNodes[0].childNodes dom.childNodes[0].childNodes[1].childNodes def delete_recursive(parent): for child in parent.childNodes: if child.hasChildNodes(): delete_recursive(child) else: parent.removeChild(child) delete_recursive(dom) dom.childNodes dom.childNodes[0].childNodes dom.childNodes[0].childNodes[0].childNodes Executes as: >>> import xml.dom.minidom as minidom >>> document="""<a> ... <b> ... <c /> ... <c /> ... </b> ... </a>""" >>> dom = minidom.parseString(document) >>> >>> dom.childNodes [<DOM Element: a at 0x7f5408e717d0>] >>> dom.childNodes[0].childNodes [<DOM Text node "'\n '">, <DOM Element: b at 0x7f5408e71f50>, <DOM Text node "'\n'">] >>> dom.childNodes[0].childNodes[1].childNodes [<DOM Text node "'\n '">, <DOM Element: c at 0x7f5408e93290>, <DOM Text node "'\n '">, <DOM Element: c at 0x7f5408e93310>, <DOM Text node "'\n '">] >>> >>> def delete_recursive(parent): ... for child in parent.childNodes: ... if child.hasChildNodes(): ... delete_recursive(child) ... else: ... parent.removeChild(child) ... >>> delete_recursive(dom) >>> >>> dom.childNodes [<DOM Element: a at 0x7f5408e717d0>] >>> dom.childNodes[0].childNodes [<DOM Element: b at 0x7f5408e71f50>] >>> dom.childNodes[0].childNodes[0].childNodes [<DOM Text node "'\n '">, <DOM Element: c at 0x7f5408e93290>, <DOM Text node "'\n '">, <DOM Element: c at 0x7f5408e93310>, <DOM Text node "'\n '">] The problem here is this last line, those text nodes shouldn't be here! I have traced the problem, and seem that the for loop is not correctly executed ---------- components: XML messages: 179309 nosy: txomon priority: normal severity: normal status: open title: minidom error versions: Python 3.2 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue16890> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com