環境
- macOS Sierra 10.12.5
- python 3.4
今回使用するのは「xmlモジュール」です。
これは標準モジュールなので、意識して削除していない限りインストールせずに使用することができます。
XMLファイル
今回はサンプルとして、下記の内容が記述されたXMLファイルを使用します
<?xml version='1.0' encoding='utf-8'?>
<root>
<dir>C:\Bridge Software</dir>
<class>
<point>50</point>
<name>Bridge</name>
</class>
<class>
<point>100</point>
<name>soft</name>
</class>
<class>
<point>150</point>
<name>ware</name>
</class>
<change>999</change>
</root>
pythonスクリプト(読み込み)
ここでは例として、XMLファイル内から「dir」タグの内容と「name」タグの内容を取得します。
# -*- coding: UTF-8 -*-
# モジュールのインポート
import xml.etree.ElementTree as ET
# xmlファイルの読み込み
tree = ET.parse('test.xml')
# dirタグ
dir_text = tree.find('dir').text
print(dir_text)
# nameタグ
names = tree.findall('class/name')
for name in names:
print(name.text)
実行結果
ちゃんと読み取れました。
pythonスクリプト(書き込み)
ここでは例として「change」タグの内容を書き換えます。
# -*- coding: UTF-8 -*-
# モジュールのインポート
import xml.etree.ElementTree as ET
# xmlファイルの読み込み
tree = ET.parse('test.xml')
# 特定のタグの値を変更
new_change = tree.find('change')
new_change.text = "新しい値"
# 上書き保存
tree.write('test.xml', 'utf-8', True)
実行結果
ちゃんと値が変更されました。
まとめ
XMLファイルはデスクトップ・アプリケーションなどで設定情報を保存しておくのによく使用されるイメージがあります。
(最近はJSONファイルに押され気味ですが、、、)
0 件のコメント:
コメントを投稿