三日月館【別館】開発・制作Tips集

[Python] ElementTreeによるXML読み込みチートシート

最終更新:

fumiduki1985

- view
管理者のみ編集可
いずれのコードサンプルも、下記インポートが行われている前提。
import xml.etree.ElementTree as ET

■XMLファイルからElementTreeオブジェクトを作成
tree = ET.parse('test.xml')

■ElementTreeオブジェクトからルート要素のElementオブジェクトを取得
root = tree.getroot()  # treeはElementTreeオブジェクト

■XPathによるノードの検索
find()メソッドなら最初にヒットした要素を表すElementオブジェクトを取得する。
いずれも検索にヒットしない場合はNoneを返す。

elemが表す要素の直下にある'element'要素を検索する。
subElem = elem.find('.//element')

elemが表す要素の直下にある'element'要素のさらに直下にある'element2'要素を取得する。
subElem = elem.find('.//element/element2')

elemが表す要素の直下にある'element'要素の中で'attr'属性を持った要素を検索する。
subElem = elem.find('.//element[@attr]')

elemが表す要素の直下にある'element'要素の中で'attr'属性を持ち値が'1'の要素を検索する。
subElem = elem.find(".//element[@attr='1']")

■属性の値を取得する
elemが表す要素のattr属性を取得する。
attrValue = elem.get('attr')

デフォルト値を指定して取得する。
attrValue = elem.get('attr', defaultValue)

■属性のリストを取得する
attrList = elem.keys()

■属性と値のタプルをリストで取得する
allAttrValues = elem.items()  # [(attr1, value1), (attr2, value2), ...] という形式で返す


このページのタグ一覧
Python チートシート プログラミング

記事メニュー
ウィキ募集バナー