2014-03-04 130 views
0

我需要獲取特定結果集的隨機元素。我有一個可用的XPath表達式,在另一個表達式中需要相同的東西。這就是我現在所擁有的:使用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張照片被推薦,所以也許如果有人知道該寫些什麼才能使這項工作真的很棒!

回答

0

如果我理解正確的話,你要達到什麼樣的,你可以簡單地結合兩種:

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

然而,這eval:()功能看起來很奇怪,我,您可能還可以使用提供了一個隨機模塊通過你的處理器或不同的功能調用。另外,如果您有12張照片,則可能需要將7更改爲12

+0

非常感謝你,儘管你的答案確實證實了它。 – user3379805