30
我试图在执行xpath查询后选择一组结果节点中的第一个元素。在xpath结果集中获取第一个节点
当我这样做:
//dl
我得到以下结果集:
[<dl>…</dl>, <dl>…</dl>]
我怎样才能获得的第一个?这些都没有工作:
//dl[1]
//dl[position()=1]
我在Chrome的Web检查器中执行此操作。
我试图在执行xpath查询后选择一组结果节点中的第一个元素。在xpath结果集中获取第一个节点
当我这样做:
//dl
我得到以下结果集:
[<dl>…</dl>, <dl>…</dl>]
我怎样才能获得的第一个?这些都没有工作:
//dl[1]
//dl[position()=1]
我在Chrome的Web检查器中执行此操作。
使用以下命令:
(//dl)[1]
括号是显著。你想要得到的第一个节点来自//dl
(而不是一组dl
元素是其父项的第一个子元素(这是//dl[1]
(无parens)返回))。
这是比较容易看到当一个人意识到//
是简写(即展开充分)/descendant-or-self::node()/
使//dl[1]
等同于:
/descendant-or-self::node()/dl[1]
...这是比较明显的不是你想要的。相反,你正在寻找:
(/descendant-or-self::node()/dl)[1]
我不知道这是可能的。还有什么其他例子可以处理(// dl)? – tipu 2012-02-08 18:59:09