Pythonはその豊富なライブラリと簡易な構文のおかげで、さまざまなデータ形式を扱うのに非常に適しています。その中にはXMLも含まれており、PythonはXMLデータを解析し、操作するための機能を提供しています。
PythonとXML
XML(Extensible Markup Language)とは、データを保存したり、インターネット上で送受信したりするために広く使われているマークアップ言語です。PythonとXMLの関連性は、主にデータの解析と操作に関わるものです。
xml.etree.ElementTree
Pythonには、xml.etree.ElementTree
という組み込みライブラリが存在します。このライブラリを使用すると、XMLデータを解析したり、新たにXMLデータを生成したりが可能です。
import xml.etree.ElementTree as ET
xml_data = """
<root>
<element1 attribute="value1">Text1</element1>
<element2 attribute="value2">Text2</element2>
<element3 attribute="value3">Text3</element3>
</root>
"""
root = ET.fromstring(xml_data)
for elem in root:
print(f"要素: {elem.tag}, 属性: {elem.attrib}, テキスト: {elem.text}")
このコードは、XMLデータを解析し、各要素のタグ名、属性、テキストを表示します。
XMLの解析
PythonでXMLを解析する方法はいくつかありますが、ここではxml.etree.ElementTree
モジュールを使用した方法を紹介します。
import xml.etree.ElementTree as ET
# APIから返されたXMLデータ(仮のデータ)
xml_data = '''
<response>
<status>200</status>
<message>成功</message>
<data>
<user>
<name>アリス</name>
<age>25</age>
</user>
<user>
<name>ボブ</name>
<age>30</age>
</user>
</data>
</response>
'''
# XMLデータをパースしてElementTreeオブジェクトを作成
root = ET.fromstring(xml_data)
# 必要な要素の値を取得して表示
status = root.find('status').text
このコードは、APIから返されたXMLデータをパースし、status
要素のテキストを取得します。
以上がPythonでXMLを解析する基本的な方法です。これらの知識を基に、さまざまなXMLデータを解析し、必要な情報を取得することができます。