从XQUERY查询中选择多个结果

时间:2014-02-26 16:00:11

标签: xpath xquery

我正在尝试从查询中选择多个列,但到目前为止,我只能设法选择一个。所以我基本上坚持选择一个或全部。

这是我的表达,我到目前为止所做的,只选择(1)列:

let $y := doc("http://en.wikipedia.org/wiki/List_of_deaths_on_eight-thousanders")//table[preceding-sibling::h2//span[string() = "K2"]][1]
return $y/tr/td[2]/string()

我很想解释一下如何做到这一点,因为几乎没有这种可爱语言的文档。

1 个答案:

答案 0 :(得分:1)

您希望如何返回结果?您可以构造新元素,或连接字符串。有很多方法可以实现这一目标。

以下是获取逗号分隔值的一种方法:

return $y/tr/fn:string-join( (td[2] | td[4]), ", " )

你可以try it on zorb.io

<强>更新

(td[2] | td[4])选择这两个元素,并将它们作为序列传递给fn:string-join()|是XQuery union运算符(可以替换关键字)。

就文档而言,functx site记录了标准库(所有fn - 前缀函数),并提供了有用的示例。 specs令人惊讶的可读性。