PythonでXMLを触ってみる7 minidomね
前回はタグ名を変換してみましたが、
今回も同じことをします。
ただ、もっと簡単に出来るのです。
メーリングリストで教えてもらったロジックです。
Sample.xml
<?xml version="1.0" encoding="UTF-8"?> <cars> <car> <name>乗用車</name> <price>150</price> </car> <car> <name>トラック</name> <price>500</price> </car> <car> <name>オープンカー</name> <price>200</price> </car> </cars>
minidom8a.py
# _*_ coding: utf-8 _*_ import xml.dom.minidom rules = { 'cars': u'車リスト', 'car': u'車', 'name': u'名前', 'price': u'価格', } doc = xml.dom.minidom.parse('Sample.xml') for org_name, new_name in rules.iteritems(): for node in doc.getElementsByTagName(org_name): doc.renameNode(node, None, new_name) print doc.toxml()
実行結果
$ python minidom8a.py <?xml version="1.0" ?><車リスト> <車> <名前>乗用車</名前> <価格>150</価格> </車> <車> <名前>トラック</名前> <価格>500</価格> </車> <車> <名前>オープンカー</名前> <価格>200</価格> </車> </車リスト>
すごくシンプルです。
この方法がベストなのかも。