如何解析HTML/XML并从中提取信息?
在进行shell脚本编写时,通常数据将存储在单行记录的文件中,如csv.用grep和处理这些数据真的很简单sed.但我经常需要处理XML,所以我真的想通过命令行来编写对XML数据的访问权限.什么是最好的工具?
理想情况下,我希望能够做到的是:
cat xhtmlfile.xhtml |
getElementViaXPath --path='/html/head/title' |
sed -e 's%(^<title>|</title>$)%%g' > titleOfXHTMLPage.txt
Run Code Online (Sandbox Code Playgroud) 我想我可以创建一些XSL样式表,然后将其用作带参数选项的模板,在命令行上使用Saxon XSLT处理器评估XPath表达式,如:
<xsl:template match="/">
<xsl:copy-of select="saxon:evaluate($xpath-param)"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
另一种可能性是使用他们的Java API:http://www.saxonica.com/documentation/xpath-api/intro.xml但我不懂Java
有没有办法让Saxon从命令行评估XPath表达式?
如果可能的话,Shell脚本也足够了
更新:
浏览撒克逊文档,我发现了XPathExample样本.不幸的是我无法利用它
xml ×4
command-line ×2
xpath ×2
bash ×1
html-parsing ×1
parsing ×1
php ×1
saxon ×1
scripting ×1
shell ×1
xhtml ×1
xml-parsing ×1