The XPathResult
interface represents the results generated by evaluating an XPath expression within the context of a given node. Since XPath expressions can result in a variety of result types, this interface makes it possible to determine and handle the type and value of the result.
Properties
XPathResult.booleanValue
Read only- A
boolean
representing the value of the result ifresultType
isBOOLEAN_TYPE
. XPathResult.invalidIteratorState
Read only- Signifies that the iterator has become invalid. It is
true
ifresultType
isUNORDERED_NODE_ITERATOR_TYPE
orORDERED_NODE_ITERATOR_TYPE
and the document has been modified since this result was returned. XPathResult.numberValue
Read only- A
number
representing the value of the result ifresultType
isNUMBER_TYPE
. XPathResult.resultType
Read only- A
number
code representing the type of the result, as defined by the type constants. XPathResult.singleNodeValue
Read only- A
Node
representing the value of the single node result, which may benull
. XPathResult.snapshotLength
Read only- The number of nodes in the result snapshot.
XPathResult.stringValue
Read only- A
string
representing the value of the result ifresultType
isSTRING_TYPE
.
Methods
XPathResult.iterateNext()
- If the result is a node set, this method iterates over it and returns the next node from it or
null
if there are no more nodes. XPathResult.snapshotItem()
- Returns an item of the snapshot collection or
null
in case the index is not within the range of nodes. Unlike the iterator result, the snapshot does not become invalid, but may not correspond to the current document if it is mutated.
Constants
Result Type Defined Constant | Value | Description |
ANY_TYPE |
0 |
A result set containing whatever type naturally results from evaluation of the expression. Note that if the result is a node-set then UNORDERED_NODE_ITERATOR_TYPE is always the resulting type. |
NUMBER_TYPE |
1 |
A result containing a single number. This is useful for example, in an XPath expression using the count() function. |
STRING_TYPE |
2 |
A result containing a single string. |
BOOLEAN_TYPE |
3 |
A result containing a single boolean value. This is useful for example, in an XPath expression using the not() function. |
UNORDERED_NODE_ITERATOR_TYPE |
4 |
A result node-set containing all the nodes matching the expression. The nodes may not necessarily be in the same order that they appear in the document. |
ORDERED_NODE_ITERATOR_TYPE |
5 |
A result node-set containing all the nodes matching the expression. The nodes in the result set are in the same order that they appear in the document. |
UNORDERED_NODE_SNAPSHOT_TYPE |
6 |
A result node-set containing snapshots of all the nodes matching the expression. The nodes may not necessarily be in the same order that they appear in the document. |
ORDERED_NODE_SNAPSHOT_TYPE |
7 |
A result node-set containing snapshots of all the nodes matching the expression. The nodes in the result set are in the same order that they appear in the document. |
ANY_UNORDERED_NODE_TYPE |
8 |
A result node-set containing any single node that matches the expression. The node is not necessarily the first node in the document that matches the expression. |
FIRST_ORDERED_NODE_TYPE |
9 |
A result node-set containing the first node in the document that matches the expression. |
Specifications
Specification | Status | Comment |
---|---|---|
Document Object Model (DOM) Level 3 XPath Specification The definition of 'XPathResult' in that specification. |
Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
XPathResult | Chrome Full support Yes | Edge Full support ≤18 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
invalidIteratorState | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
iterateNext | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
resultType | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
snapshotItem | Chrome Full support Yes | Edge Full support 12 | Firefox Full support Yes | IE ? | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown