xmllint はインプレース フォーマットをサポートします:
for f in *.xml; do xmllint -o $f --format $f; done
Daniel Veillard は次のように書いています。
xmllint -o tst.xml --format tst.xml
出力を開いてシリアル化する前に、パーサーが入力をツリーに完全にロードするため、安全であると思います
。
インデント レベルはXMLLINT_INDENT
、デフォルトで 2 つのスペースである環境変数によって制御されます。インデントを 4 つのスペースに変更する方法の例:
XMLLINT_INDENT=' ' xmllint -o out.xml --format in.xml
--recover
XML 文書が壊れている場合、オプションが不足している可能性があります。または、厳密な XML 出力で弱い HTML パーサーを試してください。
xmllint --html --xmlout <in.xml >out.xml
--nsclean
、--nonet
、--nocdata
、--noblanks
などが役立つ場合があります。マニュアルページを読んでください。
apt-get install libxml2-utils
apt-cyg install libxml2
brew install libxml2