James Williams James Williams - 1 month ago 15
Python Question

Minidom getElementById not working

Minidom's getElementById function is returning None for any entry I pass to it.

For example, this code:

l = minidom.parseString('<node id="node">Node</node>')
print(l.getElementById("node"))


Prints "None" on my computer.

I must be doing something here wrong but I can't figure it out!

I'm running Python 3.3.2 if that helps.

Answer

If you want to get elements with name="node"

l.getElementsByTagName("node")

If you want to get elements with attribute having an attribute "id" with value "node", use xpath:

import xpath
xpath.find("//*['id=node']",l) #search for all elements with an attribute id="node"