Il existe 3 principaux moyens de traiter avec XML, en général: dom, sax, et xpath. Le modèle dom est bon si vous pouvez vous permettre de charger l'ensemble de votre fichier xml en mémoire à la fois, et vous n'avez pas l'esprit de traiter avec des structures de données, et vous êtes à la recherche à beaucoup de/la plupart de la modèle. Le sax modèle est idéal si vous ne se soucient un peu de balises, et/ou vous faites affaire avec de gros fichiers et permet de les traiter de manière séquentielle. Le xpath modèle est un peu de chacun -- vous pouvez choisir les chemins les éléments de données dont vous avez besoin, mais il nécessite plus de bibliothèques à utiliser.
Si vous voulez simple et emballé avec Python, minidom est votre réponse, mais il est assez boiteux, et la documentation est "voici docs sur les dom, allez le comprendre". C'est vraiment ennuyeux.
Personnellement, j'aime cElementTree, qui est plus rapide (c) la mise en œuvre de ElementTree, qui est un dom-comme modèle.
J'ai utilisé sax systèmes, et dans de nombreux égards, ils sont plus "pythonic" dans leur sens, mais j'ai l'habitude de finir la création de l'état des systèmes à gérer, et que la voie est de la folie (et les bugs).
Je dis aller avec minidom si vous voulez la recherche, ou ElementTree si vous voulez du bon code qui fonctionne bien.