###前提・実現したいこと
xmlファイルをpython ElementTreeでパースし、
パースした要素、値をtxtファイルに書き出したい
###発生している問題・エラーメッセージ
エラーは特に発生していないのですが、以下のようなコードでパースした要素や値をprintで標準出力はできるのですが、標準出力ではなくて、ファイルに結果を書き出したいです。
###該当のソースコード
# -*- coding: utf-8 -*- from xml.etree import ElementTree x = 'a.xml' tree = ElementTree.parse(x) root = tree.getroot() es = root.findall('.//aa1/bb1') for e in es: print e.attrib
###試したこと
a.xmlファイルは、以下のように階層が深く複雑です。
root |_a0 |_aa1 |_bb0 |_bb01 |_aa2 |_bb1 |_cc0 |_dd0 |_bb2
このようなxmlファイルをElementTreeでパースしてfindallで特定要素以下の値を
print e.attribで全て標準出力できることはわかったのですが、
それを今度はファイルに書き出すという方法がわかりません。
print e.attribで標準出力させている値を変数とか配列に格納する、という方法もあるようでしたら知りたいです。
###補足情報(言語/FW/ツール等のバージョンなど)
pythonのバージョンは2.7.12です。
ファイルに書き出す以外に、もう一つやりたいことがあります。
上記のような構造のxmlファイルをfindallでパースするとき、
以下のように*を使ってトップ階層以下の全ての要素を値を取得し、
それをtxtファイルに出力することはできないのでしょうか?
root.findall('/a0/*')
あなたの回答
tips
プレビュー