-
I've decided to stick with DOM myself, mostly because by using it I learn the APIs I need when doing Javascript programming (which I am increasingly apt to use). That probably isn't reason enough for everyone -- if you use XML a lot, then you have room in your head for more than one API. And if you don't use Javascript (or work with people who do) then the DOM isn't as compelling an API.
-
The stardard DOM API is pretty painful in Java, too... it wasn't translated from Java to Python, rather it is a stardardish thing that is implemented in many languages. It's there in Delphi for example, and is somewhat tedious to use.
In Java, there is also JDOM, a more Java-ish XML DOM-style API, which is less tedious than DOM. There is also a Java XML "Pull" API which is very nice in some situations. The former is probably similar in spirit to ElementTree, and I'd guess there is an XML "pull" parser for Python also.