三日月館【別館】開発・制作Tips集
[Python] ElementTreeで作成したXMLの改行やインデントをコントロールしてファイルに書き出す
最終更新:
fumiduki1985
-
view
xml.etree.ElementTreeモジュールでXMLドキュメントを作成すると、改行やインデントのコントロールができない。
しかし、書き出し時のみxml.dom.minidomモジュールを介してしまえば(文字列パースの負荷があるものの)コントロールすることが可能。
しかし、書き出し時のみxml.dom.minidomモジュールを介してしまえば(文字列パースの負荷があるものの)コントロールすることが可能。
記述例:
import xml.etree.ElementTree as ET import xml.dom.minidom as md xmlRoot = ET.Element('root') # ElementTreeでXMLを作成 # 文字列パースを介してminidomへ移す document = md.parseString(ET.tostring(xmlRoot, 'utf-8') file = open('test.xml', 'w') # エンコーディング、改行、全体のインデント、子要素の追加インデントを設定しつつファイルへ書き出し document.writexml(file, encoding='utf-8', newl='\n', indent='', addindent=' ') file.close()