--- title: XPathEvaluator slug: Web/API/XPathEvaluator tags: - API - DOM - DOM XPath API - Document - Interface - NeedsTranslation - Reference - TopicStub - XML - XPath - XPathEvaluator translation_of: Web/API/XPathEvaluator ---

{{APIRef("DOM XPath")}}

 XPathEvaluator  接口能够对 {{Glossary("XPath")}} 表达式进行编译和求值。

该接口实现自{{domxref("Document")}}的接口。

方法

{{DOMxRef("XPathEvaluator.createExpression()")}}
创建一个解析过的XPath和解析后的namespaces
{{DOMxRef("XPathEvaluator.createNSResolver()")}}
任意DOM节点能够通过该方法来解析namespaces,允许通过节点出现在文档中的相对上下文对XPath表达式进行求值。
{{DOMxRef("XPathEvaluator.evaluate()")}}
对XPath字符串求值,返回可能的确切类型的匹配结果。

例子

下面的实例展示了如何使用XPathEvaluator接口。

HTML

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

JavaScript

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

 结果

{{EmbedLiveSample('Example', 400, 70)}}

规范

Specification Status Comment
{{SpecName("DOM3 XPath", "xpath.html#XPathEvaluator", "XPathEvaluator")}} {{Spec2("DOM3 XPath")}} Initial definition

浏览器兼容性

{{Compat("api.XPathEvaluator")}}

相关链接