XML
Python は XML や HTML といった構造化データを扱うためのモジュールをいくつかサポートしています。
ここでは XML の処理に着目します。
Python の XML 処理用インターフェイスは xml パッケージにグルーピングされています。XML 処理サブモジュールは次の通りです。
- ElementTree XML API: シンプルで軽量の XML プロセッサ
- xml.dom : DOM API
- xml.minidom : 最低限の DOM 処理実装
- xml.dom.pulldom : 部分的な DOM ツリー構築をサポート
- xml.sax : SAX2 ベースクラスといくつかの便利な機能
- xml.parsers.expat : Expat パーサー
しかしながら XML パーサの脆弱性があるので、これらをそのまま利用するのは避けるべきのようです。
lxml
lxml XML ツールキットは BSD ライセンスで使えるライブラリです。
ElementTree API と多くの互換性を持ちながら、例えば xpath が使える等、主要な機能が拡張してあり、大変使いやすいです。