0

我需要获取特定结果集的随机元素。我有一个有效的 XPath 表达式,并且在另一个表达式中需要相同的东西。这就是我现在所拥有的:

工作的:

ad/item[[eval:('Math.floor(Math.random()*7)+1')]]

这就是我需要的。它还需要随机输入,但建议使用过滤器:

query/results/json/feed/entry[contains(gsx_type/_t,'recommended')]

我知道如果我只想要一个数字,我可以这样写:

query/results/json/feed/entry[contains(gsx_type/_t,'recommended')][3]

或者

query/results/json/feed/entry[(contains(gsx_type/_t,'recommended')) AND (item = 3) ]

但这不是我需要的。我有 12 张推荐的图片,所以如果有人知道要写什么来完成这项工作,那可能会非常棒!

4

1 回答 1

0

如果我正确理解了您想要实现的目标,您可以简单地将两者结合起来:

query/results/json/feed/entry[contains(gsx_type/_t,'recommended')][eval:('Math.floor(Math.random()*7)+1')]

但是,这个eval:()函数对我来说看起来很奇怪,您也可以使用处理器提供的随机模块或以不同的方式调用函数。此外,如果您有 12 张图片,您可能需要将其更改712.

于 2014-03-04T16:42:26.747 回答