I've been using minidom to parse XML for years. Now I've suddenly learned about Element Tree. My question which is better for parsing? That is:
Why do we have two interfaces?
Thanks.
DOM and Sax interfaces for XML parsing are the classic ways to work with XML. Python had to provide those interfaces because they are well-known and standard.
The ElementTree package was intended to provide a more Pythonic interface. It is all about making things easier for the programmer.
Depending on your build, each of those has an underlying C implementation that makes them run fast.
None of the above tools is being deprecated. They each have their merits (Sax doesn't need to read the whole input into memory, for example).
There is also third-party module called lxml which is also a popular choice (full featured and fast).