Python and XML
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?
5 hours later
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.
15 hours later
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…
2 days later