PythonでXMLを辞書に変換する方法はいくつかありますが、ここではxmltodict
とdicttoxml
という2つのライブラリを使用する方法を紹介します。
まず、これらのライブラリをインストールします。
pip install xmltodict
pip install dicttoxml
次に、以下のコードを使用してXMLを辞書に変換し、辞書をXMLに変換します。
import xmltodict
import dicttoxml
import json
xml = """
<?xml version="1.0" encoding="UTF-8" ?>
<foods>
<food>
<name>イチゴ</name>
<color>赤</color>
</food>
<food>
<name>バナナ</name>
<color>黄</color>
</food>
</foods>
"""
# XMLから辞書に変換
dict_xml = xmltodict.parse(xml)
print(json.dumps(dict_xml, indent=2, ensure_ascii=False))
# 辞書からXMLに変換
xml = dicttoxml.dicttoxml(dict_xml, attr_type=False, root=False)
print(xml.decode('utf-8'))
このコードは、XMLの<foods>
要素内にある各<food>
要素を辞書に変換し、その後、辞書をXMLに戻します。
ただし、配列は<item>
要素でラップされたり、属性はうまく復元できないので完全にもとに戻すのは難しそうです。
以上がPythonでXMLを辞書に変換する方法です。この方法を使えば、XMLデータをPythonの辞書として扱い、操作することが可能になります。