xmllint Unterstützung zur Formatierung vor Ort:
für f in *.xml; do xmllint -o $f --format $f; done
Wie Daniel Veillard geschrieben hat:
Ich denke xmllint -o tst.xml --format tst.xml
sollte sicher sein, da der Parser die Eingabe vollständig in einen Baum laden wird, bevor er die Ausgabe zum Serialisieren öffnet.
Einzug wird durch die Umgebungsvariable XMLLINT_INDENT
gesteuert, die standardmäßig 2 Leerzeichen beträgt. Beispiel, wie der Einzug auf 4 Leerzeichen geändert werden kann:
XMLLINT_INDENT=' ' xmllint -o out.xml --format in.xml
Sie können Probleme mit der Option --recover
haben, wenn Ihre XML-Dokumente fehlerhaft sind. Oder versuchen Sie einen schwachen HTML-Parser mit strengem XML-Ausgabe:
xmllint --html --xmlout out.xml
--nsclean
, --nonet
, --nocdata
, --noblanks
etc. könnten nützlich sein. Lesen Sie die Manpage.
apt-get install libxml2-utils
dnf install libxml2
apt-cyg install libxml2
brew install libxml2