vi
XMLテキストを「きれいに」する簡単な方法はありますか?
たとえば、
私はこれが欲しい..
<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>
これが…
<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>
答え1
私はこの点で最も幸運でした。
:%!xmllint --format %
ただし、タグは厳密であるため、開始タグと終了タグが一致しないとエラーが発生します。また、XML宣言がない場合は、ファイルの上部にXML宣言を追加します。
:set filetype=xml
:filetype indent on
gg=G
テストしてみましたが、うまくいくようです。完璧ではありませんが、作業は完了です。
これがうまくいかない場合は、Pythonでminidomを使用してフォーマットできます。
import xml.dom.minidom
xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()