pythonでXMLを操作でのエラーが発生と文字化け①
以下のようなXMLファイルとpythonのファイルで実行しようとしているのですが、エラーが発生しどうすればエラーが消えるのかわかりません。また、文字化けも起きているのですが対処方法はありますか。(UTF-8を使用している)
エラーコード(実行結果)
C:\Users\g21125\python_xml_ex>python attribute-access.py
パン
縺ョ辷カ隕ェ縺ッ
C:\Python27\lib\xml\dom\minidom.py:693: UnicodeWarning: Unicode unequal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
elif value != attr.value:
謔滄」ッ
C:\Users\g21125\python_xml_ex>
sample.xml
<?xml version="1.0" encoding="UTF-8"?>
<recipe name="パン" preparations-time="5分" cokking-time="3時間">
<dish>基本的なパン</dish>
<material quantity='3' unit='カップ'>小麦粉</material>
<material quantity='0.25' unit='オンス'>イースト</material>
<material quantity='1.5' unit='カップ'>水</material>
<material quantity='1' unit='ティースプーン'>食塩</material>
<point>
<process>全ての材料を一緒にして混ぜます。</process>
<process>十分にこねます。</process>
<process>布で覆い、暖かい部屋で1時間そのままにしておきます。</process>
<process>もう一度こねます。</process>
<process>パン焼きの容器に入れます。</process>
<process>布で覆い、暖かい部屋で1時間そのままにしておきます。</process>
<process>オーブンに入れて温度を180℃にして30分間焼きます。</process>
</point>
</recipe>
attribute-access.py
# coding: utf-8
# タグの属性にアクセス
from xml.dom import minidom
# sample.xmlファイルを読み込む
xdoc = minidom.parse("sample.xml")
# recipe タグの0番目の要素を取得
recipe_element = xdoc.getElementsByTagName("recipe")[0]
# name 属性を取得して表示
print(recipe_element.getAttribute("name"))
print("の父親は")
# name 属性を変更
recipe_element.setAttribute("name", "悟飯")
# 再度 name 属性を表示
print(recipe_element.getAttribute("name"))
実行結果(正常終了の場合)
パン
の父親は
悟飯