xpath按索引获取元素

时间:2012-04-05 08:33:32

标签: php xml xpath

我有以下xpath表达式

//div[@class="post-content"]//img

在html页面上运行,扫描图像。 上面的查询返回了很多图像,但我只想要列表中的第二个。

我试过了

//div[@class="post-content"]//img[1] and
//div[@class="post-content"]//img[position()=1]

没有运气

我该怎么做?

感谢

2 个答案:

答案 0 :(得分:37)

在XPath索引中从1个位置开始,因此

//div[@class="post-content"]//img[2]
如果您必须在img中选择每个第二div[@class="post-content"]

应该可以正常工作。如果您必须从img中的所有图片中仅选择第二个div[@class="post-content"],请使用:

(//div[@class="post-content"]//img)[2]

答案 1 :(得分:9)

XPath中的

索引是从1开始的,而不是从0开始的。试试

(//div[@class="post-content"]//img)[position()=2]