March 8, 2010

PythonでXMLを扱う

いつも調べて、いつも忘れる。メモ。

モジュールのインポート
from xml.dom import minidom

DOMオブジェクトにパース
xdoc = minidom.parse("ファイル名かファイル")
xdoc = minidom.parseString("XML文字列")

文字列で表示
print xdoc.toxml()

あるタグのリストを取得
elements = xdoc.getElementsByTagName("タグの名前")

最初のノードを取得
node = elements[0]

子ノードたち
childeNodes = node.childNodes

ある属性の取得
attr = node.attributes["属性の名前"]

テキストノードかコメントノードだったら値を表示
if node.nodeType in [node.TEXT_NODE, node.COMMENT_NODE]:
    print node.data


参考サイト

20.7. xml.dom.minidom — Lightweight DOM implementation — Python v2.6.5c1 documentation
8.6 xml.dom -- 文書オブジェクトモデル (DOM) API
9.3. Parsing XML
9.5. Searching for elements
9.6. Accessing element attributes
10.4. Finding direct children of a node