2016-09-05 46 views
0

編集したXMLルートを新しいファイルに書き込む最も簡単な方法は何ですか?これは私が今までに持っているものであり、投げているのですAttributeError: 'module'オブジェクトには属性 'write'がありません
PS:ElementTree以外の他のAPIは使用できません。ElementTree XMLに書き込む

import xml.etree.ElementTree as ET 
from xml.etree.ElementTree import Element, SubElement, Comment 
from ElementTree_pretty import prettify 
tree = ET.parse('file-to-be-edited.xml') 
root = tree.getroot() 

#Process XML here 

ET.write('file-after-edits.xml') 

答えて

1

treeElementTreeオブジェクトで、ツリーを書き込む方法はwrite()です。例:

#Process XML here 
tree.write('file-after-edits.xml', encoding='utf8') 
+0

解決に感謝します。私の愚かな間違い。生成されたファイルをあらかじめ確認できる方法はありますか? – user1195192

+0

「ElementTree」と互換性のあるAPIを提供する['lxml'](http://lxml.de/)を使うことができます。 'tree.write()'メソッドは 'pretty_print = True'引数を受け取ります。 – mhawke

+0

また、 'minidom'を使ってください:http://stackoverflow.com/questions/749796/pretty-printing-xml-in-python – mhawke

0

はAttributeError:「モジュール」オブジェクトが属性「書き込み」あなたがElementTreeのクラスから直接writeメソッドを呼び出すことはできませんことを言っていない持っている、それは静的メソッドではありません、tree.write('file-after-edits.xml')を使用してみてください、木があなたのオブジェクトでありますElementTreeから。

+0

とにかく生成されたファイルを確認することはできますか? – user1195192

関連する問題