XMLファイルをコマンドで見やすく整形するには (pretty printing)

XMLファイルに改行やインデントを入れて、ターミナル上で人間にとって読みやすく表示させる方法。

Pythonがあれば以下のようなワンライナーでXMLのpretty printができる。

Python3であれば

$ cat FOO.xml | python -c 'import sys; import xml.dom.minidom; s = sys.stdin.read(); print(xml.dom.minidom.parseString(s).toprettyxml())'

Python2であれば

$ cat FOO.xml | python -c 'import sys; import xml.dom.minidom; s = sys.stdin.read(); print xml.dom.minidom.parseString(s).toprettyxml().encode("utf_8")'

関連

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。