W3cubDocs

/Web APIs

XPathEvaluator: createExpression() method

This method compiles an XPathExpression which can then be used for (repeated) evaluations of the XPath expression.

Syntax

js

createExpression(expression)
createExpression(expression, resolver)

Parameters

expression

A string representing the XPath expression to be created.

resolver Optional

Permits translation of all prefixes, including the xml namespace prefix, within the XPath expression into appropriate namespace URIs.

Return value

A XPathExpression representing the compiled form of 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.

NAMESPACE_ERR

If the expression contains namespace prefixes which cannot be resolved by the specified XPathNSResolver, a DOMException of type NAMESPACE_ERROR is raised.

Examples

The following example shows the use of the evaluate() method.

HTML

html

<div>XPath example</div>
<div>Number of &lt;div&gt;s: <output></output></div>

JavaScript

js

const xpath = "//div";
const evaluator = new XPathEvaluator();
const expression = evaluator.createExpression(xpath);
const result = expression.evaluate(
  document,
  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;

Result

Specifications

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
createExpression 1 12 1 No ≤12.1 3 4.4 18 4 ≤12.1 1 1.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XPathEvaluator/createExpression