【发布时间】:2020-03-06 04:51:24
【问题描述】:
我使用下面的代码来提取两个使用xidel -e的值。
'//input[@name="qid"]/@value[1]'"//span[@id='trueFinalResultCount']"
但我想将这两个结果转换成 TSV 格式。
result1<TAB>result2
谁能告诉我如何结合以上两个表达式? (我尝试了以下方法。但它不起作用。)
'join((//input[@name="qid"]/@value[1], //span[@id='trueFinalResultCount'][1]), x:cps(9))'
【问题讨论】:
-
试试
string-join( ($x, $y), '&#09;') -
您能用
xidel测试解决方案吗?我试过'string-join((//input[@name="qid"]/@value[1], //span[@id='trueFinalResultCount'][1]), "&#09;")'。但我只得到第一个值。 -
你能分享你的来源吗?也请修正你的报价。
'function("string")'用于 Unix,而"function('string')"用于 Windows。 -
我没有你的数据,但这有效:
xidel https://google.com --xquery 'string-join(//a ! string-join(((./string(), "¡Untitled!")[. ne ""][1], @href), "&#09;"), "&#10;")'。这使用标准 XQuery 3 创建 TSV 文件:Google 主页上的每个链接一行,每行两列(由制表符分隔):标题和 URL。如果您提供包含数据的 URL,我很乐意针对您的问题提供具体答案。 -
我同意 Reino 的观点 - 您使用引号可能是您的问题的原因。在我的示例中(在 macOS 上使用),请注意一对单引号 (
') 是如何围绕整个查询主体的,而在查询主体内部,仅使用双引号 (")。