2013-10-21 121 views
2

我想快速找到使用XPath的特定节点,但似乎我的多个谓词不起作用。我需要的div有一个特定的类,但有3个人拥有它。我想选择第四个,所以我做了以下操作:Xpath多个谓词

//div[@class='myCLass' and 4] 

但是“4”被忽略。任何帮助?我是XPath新手。

谢谢。

回答

3

如果xpath查询返回节点集,则始终可以使用[OFFSET]运算符来访问它的某个元素。

使用以下查询访问的@class='myClass'谓词相匹配的第四个要素:

//div[@class='myCLass'][4] 

@WilliamNarmontas回答可能是一个替代语法上面显示。

3

另外,

//div[@class='myCLass' and position()=4] 
+0

谢谢,这个工程呢! – TheGateKeeper

3

接受的答案工作正常只有当所有的div元素具有相同的父。否则使用:

(//div[@class='myCLass'])[4] 
+0

嗨@TheGateKeeper,我想第二个上面的答案,给它一个替代形状,有点长,但恕我直言更可读:'/ descendant :: div [@class eq'myClass'] [4]'。 – CiaPan