XPathEvaluator.evaluate()
The evaluate()
method of the XPathEvaluator
interface executes an XPath expression on the given node or document and returns an XPathResult
.
Syntax
XPathResult XPathEvaluator.evaluate(expression, contextNode, resolver, type, result);
Parameters
- expression
-
A
DOMString
representing the XPath expression to be parsed and evaluated. - contextNode
-
A
Node
representing the context to use for evaluating the expression. - resolver Optional
-
Permits translation of all prefixes, including the
xml
namespace prefix, within the XPath expression into appropriate namespace URIs. - type Optional
-
Specifies the type of result to be returned by evaluating the expression. This must be one of the
XPathResult.Constants
. - result Optional
-
Allows to specify a result object which may be reused and returned by this method. If this is specified as
null
or the implementation does not reuse the specified result, a new result object will be returned.
Return value
An XPathResult
object representing the result of evaluating the XPath expression.
Exceptions
INVALID_EXPRESSION_ERR
If the expression is not legal according to the rules of the XPathEvaluator
, an XPathException
of type INVALID_EXPRESSION_ERR
is raised.
TYPE_ERR
In case result cannot be converted to the specified type, an XPathException
of type TYPE_ERR
is raised.
NAMESPACE_ERR
If the expression contains namespace prefixes which cannot be resolved by the specified XPathNSResolver
, a DOMException
of type NAMESPACE_ERROR
is raised.
WRONG_DOCUMENT_ERR
If the provided context node is from a document that is not supported by the XPathEvaluator
, a DOMException
of type WRONG_DOCUMENT_ERR
is raised.
NOT_SUPPORTED_ERR
If the provided context node is not a type permitted as an XPath context node or the request type is not permitted by the XPathEvaluator
, a DOMException
of type NOT_SUPPORTED_ERR
is raised.
Example
The following example shows the use of the evaluate()
method.
HTML
<div>XPath example</div> <div>Number of <div>s: <output></output></div>
JavaScript
var evaluator = new XPathEvaluator(); var result = evaluator.evaluate("//div", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE); document.querySelector("output").textContent = result.snapshotLength;
Result
Specifications
Specification |
---|
DOM Standard (DOM) # dom-xpathevaluatorbase-evaluate |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
evaluate |
1 |
12 |
1 |
No |
≤12.1 |
3 |
1 |
18 |
4 |
≤12.1 |
1 |
1.0 |
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XPathEvaluator/evaluate