Попробуйте сделать это:
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
xmllint --format -
Эта утилита поставляется с libxml2-utils
или
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
xml_pp
эта команда поставляется с XML::Twigperl модулем, иногда xml-twig-tools
пакет.
или
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
xmlstarlet format --indent-tab
эта команда поставляется с xmlstarlet
или
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
tidy -xml -i -
проверка tidy
пакета
или
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
python -c 'import sys;import xml.dom.minidom;s=sys.stdin.read();print xml.dom.minidom.parseString(s).toprettyxml()'
или
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
saxon-lint --indent --xpath '/' -
проверка saxon-lint
или
echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' |
java -cp /usr/share/java/saxon/saxon9he.jar net.sf.saxon.Query \
-s:- -qs:/ '!indent=yes'
Проверить saxon-HE
Хорошо, быстрый ответ. Первый вариант кажется, что он будет более вездесущим в современных установках * nix. Небольшая точка; но можно ли это назвать без работы через промежуточный файл? I.e., 'echo ' ' | xmllint - some-read-from-stdn-option'? –
svidgen
Посмотреть мой отредактированный пост –
Пакет 'libxml2-utils' в моей прекрасной ubuntu. – franzlorenzon