Python には下記のように、標準の XML パーサが複数搭載されています。
xml.etree.ElementTree
… The ElementTree XML APIxml.dom
… The Document Object Model APIxml.dom.minidom
… Minimal DOM implementationxml.sax
… Support for SAX2 parsers
通常はシンプルな xml.etree.ElementTree
を使い、DOM 標準の API を使いたい場合は xml.dom
を使用すればよいでしょう。
巨大な XML ファイルを効率的に読み込みたい場合は、SAX API を提供する xml.sax
を選択できます。
Beautiful Soup などの 3rd パーティライブラリでも XML を扱うことはできますが、Beautiful Soup はどちらかというと HTML のパースに向いています。
XML のパースは、ほとんどの場合 Python 標準の ElementTree
で十分です。