我正在尝试在执行xpath查询后选择一组结果节点中的第一个元素。
当我这样做时:
//dl
我得到以下结果集:
[<dl>…</dl>, <dl>…</dl>]
我如何获得第一个?这些都不起作用:
//dl[1]
//dl[position()=1]
我正在Chrome的Web Inspector中执行此操作。
答案 0 :(得分:59)
使用以下内容:
(//dl)[1]
括号很重要。您希望第一个节点来自//dl
(而不是dl
元素集合,这些元素是其父节点的第一个子节点(这是//dl[1]
(没有parens)返回的内容)。 / p>
当人们意识到//
是({1}}的缩写(即完全展开到)/descendant-or-self::node()/
以便//dl[1]
等同于:
/descendant-or-self::node()/dl[1]
......这显然不是你想要的。相反,你正在寻找:
(/descendant-or-self::node()/dl)[1]