getting first node in xpath result set
35,138
Use the following:
(//dl)[1]
The parentheses are significant. You want the first node that results from //dl
(not the set of dl
elements that are the first child of their parent (which is what //dl[1]
(no parens) returns)).
This is easier to see when one realizes that //
is shorthand for (i.e. expands fully to) /descendant-or-self::node()/
so that //dl[1]
is equivalent to:
/descendant-or-self::node()/dl[1]
...which is more obviously not what you want. Instead, you're looking for:
(/descendant-or-self::node()/dl)[1]
Comments
-
tipu about 4 years
I am trying to select the first element in a set of resulting nodes after executing an xpath query.
When I do this:
//dl
I get the following result set:
[<dl>…</dl>, <dl>…</dl>]
How can I get the first one? Neither of these work:
//dl[1] //dl[position()=1]
I am executing this in Chrome's Web Inspector.
-
tipu over 12 yearsi didn't know that was possible. what other examples are there that i can do with (//dl) ?