C#言語を使ったXMLドキュメントの作成は、「DOMの機能とLINQ to XMLによるXML作成」で行いましたが、今回はxml.etree.ElementTreeライブラリを使用して、Python言語でXMLドキュメントを作成します。
xml.etree.ElementTreeライブラリは別途インストールする必要がありません。xml.etree.ElementTreeライブラリの仕様については、「xml.etree.ElementTree — ElementTree XML API」を参照してください。
XMLドキュメント作成プログラムの作成
xml.etree.ElementTreeライブラリを使用してXMLドキュメント作成プログラム「xmltest.py」を作成します。
- 4行目で、Elementメソッドを使って、要素「data」を作成します。{}で囲むことにより属性名を定義します。
- 5行目で、SubElementメソッドを使って、子要素「country 」を作成します。
- 6行目で、子要素「country 」のテキストを作成します。
- 10行目で、setメソッドを使って、子要素「rank」の属性名を定義します。
- 14行目で、子要素「neighbor」の子要素「name 」を作成します。
- 17行目で、dumpメソッドを使って、作成したXMLドキュメントを表示します。
xmltest.py
# -*- coding: utf-8 -*- from xml.etree.ElementTree import * def main(): data = Element('data',{'version':'1.0' ,'encoding':'utf-8'}) country = SubElement(data, 'country') country.text = "Liechtenstein" rank = SubElement(data, 'rank') rank.text = "2" rank.set('updated', 'yes') year = SubElement(data, 'year') year.text = "2019" neighbor = SubElement(data, 'neighbor') name = SubElement(neighbor, 'name') name.text = "Austria" dump (data) if __name__ == '__main__': main()
XMLドキュメント作成プログラムの実行
次のコマンドで、XMLドキュメント作成プログラム「xmltest.py」を実行します。実行結果を次に示します。
$ python3 xmltest.py <data encoding="utf-8" version="1.0"><country>Liechtenstein<country><rank updated="yes">2</rank><year>2019</year><neighbor><name>Austria</name></neighbor></data>