从列表中计算

时间:2017-05-11 21:32:54

标签: html xpath

说我有一个如下所示的xpath

//div[contains(@class, 'cat 53453463')]/a

并且该页面包含许多具有不同Xes的页面

//div[contains(@class, 'cat xxxxxx')]/a

xpath是否有任何功能可以计算它在列表中的位置?例如,如果在下面的列表中,我的匹配是第7行。 xpath有什么可以获得的吗?或者这是我应该手动编码的东西吗?

//div[contains(@class, 'cat xxxxxx')]/a
//div[contains(@class, 'cat xxxxxx')]/a
//div[contains(@class, 'cat xxxxxx')]/a
//div[contains(@class, 'cat xxxxxx')]/a
//div[contains(@class, 'cat xxxxxx')]/a
//div[contains(@class, 'cat xxxxxx')]/a
//div[contains(@class, 'cat 53453463')]/a
//div[contains(@class, 'cat xxxxxx')]/a

这是一个真实世界的例子

拿这个页面

http://newyork.backpage.com/homes-for-sale/

我们在其上运行以下xpath

//div[contains(@class, 'cat 93893742')]/a

在发布时,比赛是第7次上市。无论如何得到xpath返回7,因为它是第7个上市?

1 个答案:

答案 0 :(得分:0)

在XPath 2.0中,您可以使用表达式

在节点列表$ L中获取节点$ N的位置
for $i in 1 to count($L) return $i[$L[$i] is $N]

我不认为可以在XPath 1.0中完成(但我之前错了......)