その時々

その時々で違うんです。特に決まっていないんです。

PythonでXMLを触ってみる minidomね

あまりむずかしいことはせずに、簡単にminidomを扱ってみたいと思います。

Sample.xmlを読んで、Sample2.xmlにそのまま書きだしてみます。

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>


minidom1.py

# _*_ coding:UTF-8 _*_

import xml.dom.minidom, codecs

# DOMの準備
f = open('Sample.xml')
doc = xml.dom.minidom.parse(f)

f2 = codecs.open('Sample2.xml', 'w', 'utf-8')
doc.writexml(f2)

f2.close()
f.close()

実行してみます。

$ python minidom1.py
$ cat Sample2.xml
<?xml version="1.0" ?><cars>
  <car>
    <name>乗用車</name>
    <price>150</price>
  </car>
  <car>
    <name>トラック</name>
    <price>500</price>
  </car>
  <car>
    <name>オープンカー</name>
    <price>200</price>
  </car>
</cars>

xml宣言のcodingとか消えたり、ノードの位置が変っていますが
そのまま出力できました。