Pythonには、XMLデータを解析し操作するためのライブラリがあります。その一つがxml.etree.ElementTree
です。
xml.etree.ElementTreeとは
xml.etree.ElementTree
は、Pythonの標準ライブラリの一部で、XMLデータの解析と作成を行うためのシンプルで効率的なAPIを提供しています。XMLは本質的に階層的なデータ形式であり、それを表現する最も自然な方法はツリーです。
ElementTreeは、全体のXMLドキュメントをツリーとして表現し、Elementはこのツリーの単一のノードを表現します。
XMLの解析
XMLデータを解析するためには、以下のようにET.parse
を使用します。
import xml.etree.ElementTree as ET
tree = ET.parse('country_data.xml')
root = tree.getroot()
また、文字列から直接XMLを解析することも可能です。
root = ET.fromstring(country_data_as_string)
XMLの検索
特定のタグを持つ要素を検索するためには、findall
やfind
を使用します。
list = root.findall('country')
elem = root.find('country')
XPath式を使用して検索することも可能です。
root.findall("./country/neighbor")
XMLの操作
XMLの要素にアクセスしたり、新たな要素を追加したり、要素を削除したりすることも可能です。
# コンテンツにアクセス
rank = country.find('rank').text
# 属性にアクセス
name = country.get('name')
# 子要素の生成
elem = ET.SubElement(root,'country', attrib={'name':'Liechtenstein'})
# 子要素の削除
for country in root.findall('country'):
rank = int(country.find('rank').text)
if rank > 50:
root.remove(country)
以上がPythonのxml.etree.ElementTree
を使用したXMLの操作の基本的な方法です。これらの知識を活用して、PythonでXMLデータを効率的に扱うことができます。.