相关:如何在(unix)shell脚本中漂亮地打印JSON
是否有(unix)shell脚本以人类可读的形式格式化XML
基本上,我希望它能改变以下内容:
<;根>&书信电报;foo a=“b”>;洛雷姆</foo>&书信电报;bar value=“ipsum”/></根>;
。。。变成这样:
<;根>;
<;foo a=“b”>;洛雷姆</foo>;
<;bar value=“ipsum”/>;
</根>;
xmllint
此实用程序附带了libxml2 utils:
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
xmllint——格式-
Perl的XML::Twig
此命令随XML::Twig perl模块一起提供,有时是XMLTwig工具package:
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
xml_pp
xmlstarlet
此命令随xmlstarlet一起提供:
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
xmlstarlet格式--缩进选项卡
整洁
检查整齐的包装:
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
tidy-xml-i-
Python
Python的xml.dom.minidom可以格式化xml(也适用于旧式Python 2):
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
python-c的导入系统;导入xml.dom.minidom;s=sys.stdin.read();打印(xml.dom.minidom.parseString.toprettyxml())'
saxon lint
您需要saxon lint:
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
saxon lint--indent--xpath'/'-
撒克逊河
你需要撒克逊人他:
echo'<;根>&书信电报;foo a=";b"&燃气轮机;洛雷姆</foo>&书信电报;条形图值=”;ipsum“/&燃气轮机</根>;'|
java-cp/usr/share/java/saxon/saxon9he.jar net.sf.saxon.Query\
-s:--qs:/'!缩进=是'