XPathExpression: evaluate() メソッド
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.
evaluate()
は XPathExpression
インターフェイスのメソッドで、指定されたノードまたは文書に対して XPath 式を実行し、XPathResult
を返します。
構文
evaluate(contextNode)
evaluate(contextNode, type)
evaluate(contextNode, type, result)
引数
contextNode
-
式を評価するために使用するコンテキストを表す
Node
です。 type
省略可-
式を評価して返す結果の型を指定します。これは
XPathResult.定数
のいずれかでなければなりません。 result
省略可-
このメソッドが再利用して返す結果オブジェクトを指定することができます。
null
を指定した場合や、実装が指定した結果を再利用しない場合は、新しい結果オブジェクトを返します。
返値
XPath 式の評価結果を表す XPathResult
オブジェクト。
例外
INVALID_EXPRESSION_ERR
式が XPathEvaluator
の規則に従っていなかった場合、 `INVALID_EXPRESSION_ERR`` 型の XPathException
が発生します。
TYPE_ERR
結果を指定した型に変換できなかた場合、 TYPE_ERR
型の XPathException
が発生します。
NAMESPACE_ERR
指定した XPathNSResolver
で解決できない名前空間接頭辞が式に格納されていた場合、 NAMESPACE_ERROR
型の DOMException
が発生します。
WRONG_DOCUMENT_ERR
指定されたコンテキストノードが XPathEvaluator
で対応していない文書のものである場合、 WRONG_DOCUMENT_ERR
型の DOMException
が発生します。
NOT_SUPPORTED_ERR
指定されたコンテキストノードが XPath コンテキストノードとして許可されていない型であるか、リクエストの型が XPathEvaluator
によって許可されていない場合、 NOT_SUPPORTED_ERR
型の DOMException
が発生します。
例
次の例では evaluate()
メソッドを使用しています。
HTML
<div>XPath example</div>
<div>Number of <div>s: <output></output></div>
JavaScript
const xpath = "//div";
const evaluator = new XPathEvaluator();
const expression = evaluator.createExpression("//div");
const result = expression.evaluate(
document,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
結果
仕様書
Specification |
---|
DOM Standard # dom-xpathexpression-evaluate |
ブラウザーの互換性
BCD tables only load in the browser