Spec-Zone.ru › Web APIs

XPathEvaluator: метод evaluate()

Базовая Широко доступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод evaluate() интерфейса XPathEvaluator выполняет выражение XPath на заданном узле или документе и возвращает XPathResult.

Синтаксис

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

Параметры

expression

Строка, представляющая выражение XPath, которое необходимо разобрать и оценить.

contextNode

Node, представляющий контекст для оценки выражения.

resolver Необязательно

Node, null, или любой объект, реализующий метод lookupNamespaceURI. Позволяет перевести все префиксы, включая префикс пространства имен xml, в выражении XPath в соответствующие URI пространств имен.

type Необязательно

Определяет тип результата, который будет возвращён при оценке выражения. Должен быть одним из XPathResult.Constants.

result Необязательно

Позволяет указать объект результата, который можно повторно использовать и вернуть этим методом. Если это указано как null или реализация не использует указанный результат, будет возвращён новый объект результата.

Возвращаемое значение

Объект XPathResult, представляющий результат оценки выражения XPath.

Исключения

INVALID_EXPRESSION_ERR

Если выражение не соответствует правилам XPathEvaluator, возникает исключение XPathException типа INVALID_EXPRESSION_ERR.

TYPE_ERR

В случае, если результат не может быть преобразован в указанный тип, возникает исключение XPathException типа TYPE_ERR.

NAMESPACE_ERR

Если выражение содержит префиксы пространств имён, которые не могут быть разрешены указанным XPathNSResolver, возникает исключение DOMException типа NAMESPACE_ERROR.

WRONG_DOCUMENT_ERR

Если предоставленный узел контекста принадлежит документу, который не поддерживается XPathEvaluator, возникает исключение DOMException типа WRONG_DOCUMENT_ERR.

NOT_SUPPORTED_ERR

Если предоставленный узел контекста не является допустимым типом узла контекста XPath или тип запроса не разрешен XPathEvaluator, возникает исключение DOMException типа NOT_SUPPORTED_ERR.

Примеры

В следующем примере показано использование метода evaluate().

HTML

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

JavaScript

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

Результат

Спецификации

Спецификация
DOM
# dom-xpathevaluatorbase-evaluate

Совместимость браузеров

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
evaluate 1 12 1 ≤12.1 3 18 4 ≤12.1 1 1.0 4.4

© 2005–2024 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API