【发布时间】:2011-03-23 11:42:04
【问题描述】:
有什么方法可以在 mac 上从命令行漂亮地打印 HTML 或 XML 字符串?尝试在 Ruby 中执行此操作。有任何想法吗?我曾考虑过 XSLT,以及编写我自己的解析器,但这两者都涉及很多。正在寻找已经存在的东西。
【问题讨论】:
标签: html ruby xml unix pretty-print
有什么方法可以在 mac 上从命令行漂亮地打印 HTML 或 XML 字符串?尝试在 Ruby 中执行此操作。有任何想法吗?我曾考虑过 XSLT,以及编写我自己的解析器,但这两者都涉及很多。正在寻找已经存在的东西。
【问题讨论】:
标签: html ruby xml unix pretty-print
类似Tidy?
【讨论】:
XML 文件
xmllint --format file.xml
HTML 文件
xmllint --format --html file.html
http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/xmllint.1.html
【讨论】:
output = IO.popen("xmllint --format --html -", "w+") do |pipe| pipe.puts html pipe.close_write pipe.read end
在 shell 中,另一种选择是使用不带参数的 pup:
pup
XmlStarlet 还支持使用 HTML 解析器。 fo 是 format 的缩写。请参阅xml fo -h 寻求帮助。
xml fo --html
tidy 的主要实现不支持 HTML5,但tidy-html5 支持。 brew install tidy-html5 在 OS X 中将 tidy-html5 安装为 /usr/local/bin/tidy。
【讨论】: