Lots of noise about Python’s vast plethora of XML libraries from Nelson and responses from Uche. I still think it’s too complicated. Way too complicated. What I want to do is this:
>>> import xmllib
>>> xmldoc = xmllib.open("filename.xml")
>>> print xmldoc.xpath("//node1/node2")
[<DOM Element: node2 at 0x3457>, <DOM Element: node2 at 0x090532>]
>>> print xmldoc.dom.getElementsByTagName("node2")
[<DOM Element: node2 at 0x3457>, <DOM Element: node2 at 0x090532>]
That’d do me. In fact, I think I might write it.
A bit like rexml for ruby?
Posted by Jason on January 18th, 2005.
Isn’t that pretty much what the effbot’s ElementTree package does?
>>> from elementtree import ElementTree
>>> xmldoc = ElementTree.parse(‘filename.xml‘)
>>> print xmldoc.findall(‘//node1/node2‘) – Output left out because I’m lazy
>>> print xmldoc.getiterator(‘node2‘) – Ditto with the output
The API may not be exactly what you are after (there is nary a mention of DOM or SAX) but it’s pythonic, compact and blazingly fast.
Posted by Andy Todd on January 19th, 2005.
Hm. Must look at ElementTree, although it doesn’t seem very DOMish, and I tend to think in DOM terms as well as XPath terms…
Posted by sil on January 20th, 2005.