如线程How to parse HTML using XPath with Saxon-HE in command line?所示,我尝试使用Saxon和XPath查询HTML。
到目前为止,我在Linux shell中所做的尝试是:
java -classpath "./tagsoup-1.2.jar:./saxon9he.jar" \
net.sf.saxon.Query \
-x:org.ccil.cowan.tagsoup.Parser \
-s:https://stackoverflow.com/questions/27826172 \
-qs:'/*:html/*:head/*:title/text()'它可以工作,但我希望设置一个默认命名空间,以便能够查询不带前缀或通配符的HTML,例如:
/html/head/title/text()应该是有效的查询。
知道吗?
发布于 2015-01-07 21:07:14
使用XQuery,您可以设置declare default element namespace "http://www.w3.org/1999/xhtml";,至少在理论上,如果您用它启动qs查询参数-qs:'declare default element namespace "http://www.w3.org/1999/xhtml";/*:html/*:head/*:title/text()',那么您应该能够使用//body。在shell中编写和转义所有我不知道的引号是否可能和可行,从长远来看,使用查询文件可能更容易。
https://stackoverflow.com/questions/27826172
复制相似问题