XPathEvaluator: evaluate()-Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Die evaluate()-Methode des XPathEvaluator-Interfaces führt einen XPath-Ausdruck auf dem angegebenen Knoten oder Dokument aus und gibt ein XPathResult zurück.

Syntax

js
evaluate(expression, contextNode)
evaluate(expression, contextNode, resolver)
evaluate(expression, contextNode, resolver, type)
evaluate(expression, contextNode, resolver, type, result)

Parameter

expression

Ein String, der den XPath-Ausdruck darstellt, der geparst und ausgewertet werden soll.

contextNode

Ein Node, der den Kontext für die Auswertung des Ausdrucks darstellt.

resolver Optional

Ein Node, null oder ein beliebiges Objekt, das die lookupNamespaceURI-Methode implementiert. Ermöglicht die Übersetzung aller Präfixe, einschließlich des xml-Namespace-Präfixes, innerhalb des XPath-Ausdrucks in entsprechende Namespace-URIs.

type Optional

Gibt den Typ des Ergebnisses an, das durch die Auswertung des Ausdrucks zurückgegeben werden soll. Dies muss einer der XPathResult.Constants sein.

result Optional

Ermöglicht die Angabe eines Ergebnisobjekts, das möglicherweise wiederverwendet und von dieser Methode zurückgegeben wird. Wenn dies als null angegeben wird oder die Implementierung das angegebene Ergebnis nicht wiederverwendet, wird ein neues Ergebnisobjekt zurückgegeben.

Rückgabewert

Ein XPathResult-Objekt, das das Ergebnis der Auswertung des XPath-Ausdrucks darstellt.

Ausnahmen

INVALID_EXPRESSION_ERR

Wenn der Ausdruck gemäß den Regeln des XPathEvaluator nicht legal ist, wird eine XPathException des Typs INVALID_EXPRESSION_ERR ausgelöst.

TYPE_ERR

Falls das Ergebnis nicht in den angegebenen Typ konvertiert werden kann, wird eine XPathException des Typs TYPE_ERR ausgelöst.

NAMESPACE_ERR

Wenn der Ausdruck Namespace-Präfixe enthält, die vom angegebenen XPathNSResolver nicht aufgelöst werden können, wird eine DOMException des Typs NAMESPACE_ERROR ausgelöst.

WRONG_DOCUMENT_ERR

Wenn der bereitgestellte Kontextknoten von einem Dokument stammt, das vom XPathEvaluator nicht unterstützt wird, wird eine DOMException des Typs WRONG_DOCUMENT_ERR ausgelöst.

NOT_SUPPORTED_ERR

Wenn der bereitgestellte Kontextknoten kein zulässiger Typ als XPath-Kontextknoten ist oder der Anforderungstyp vom XPathEvaluator nicht unterstützt wird, wird eine DOMException des Typs NOT_SUPPORTED_ERR ausgelöst.

Beispiele

Das folgende Beispiel zeigt die Verwendung der evaluate()-Methode.

HTML

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

JavaScript

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

Ergebnis

Spezifikationen

Specification
DOM Standard
# dom-xpathevaluatorbase-evaluate

Browser-Kompatibilität

BCD tables only load in the browser