Интерфейс XPathExpression
public interface XPathExpression
XPathExpression предоставляет доступ к скомпилированным выражениям XPath. На вычисление XPath влияют факторы, описанные в следующей таблице. | Фактор | Поведение |
|---|---|
| контекст | Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста; в противном случае будет выброшено исключение XPathExpressionException. При вычислении выражений XPath узел DocumentFragment рассматривается как узел Document. |
| переменные | Если выражение содержит ссылку на переменную, её значение будет получено через XPathVariableResolver. Исключение XPathExpressionException возникает, если обработчик переменных не определён или возвращает null для переменной. Значение переменной должно оставаться неизменным в течение одного вычисления. |
| функции | Если выражение содержит ссылку на функцию, функция будет найдена через XPathFunctionResolver. Исключение XPathExpressionException возникает, если обработчик функций не определён или возвращает null для функции. |
| QName | QName в выражении разрешаются с учётом контекста пространств имён XPath. |
| результат | Результат вычисления выражения преобразуется в экземпляр требуемого типа возвращаемого значения. Допустимые типы возвращаемых значений определены в XPathConstants. Преобразование к типу возвращаемого значения выполняется по правилам преобразования XPath. |
Выражение XPath не является потокобезопасным и реентерабельным. Иными словами, приложение должно гарантировать, что один объект XPathExpression не используется одновременно более чем одним потоком, а также что во время вызова метода evaluate приложение не вызывает рекурсивно метод evaluate.
- Начиная с:
- 1.5
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
evaluate |
Вычисляет скомпилированное выражение XPath в указанном контексте и возвращает результат в виде String. |
Object |
evaluate |
Вычисляет скомпилированное выражение XPath в указанном контексте и возвращает результат в виде значения указанного типа. |
String |
evaluate |
Вычисляет скомпилированное выражение XPath в контексте указанного InputSource и возвращает результат в виде String. |
Object |
evaluate |
Вычисляет скомпилированное выражение XPath в контексте указанного InputSource и возвращает результат в виде значения указанного типа. |
default XPathEvaluationResult |
evaluateExpression |
Вычисляет скомпилированное выражение XPath в указанном контексте. |
default <T> T |
evaluateExpression |
Вычисляет скомпилированное выражение XPath в указанном контексте и возвращает результат с типом, заданным с помощью class type. |
default XPathEvaluationResult |
evaluateExpression |
Вычисляет скомпилированное выражение XPath в указанном контексте. |
default <T> T |
evaluateExpression |
Вычисляет скомпилированное выражение XPath в указанном контексте и возвращает результат с типом, заданным с помощью class type
|
Подробное описание методов
evaluate
Object evaluate(Object item, QName returnType) throws XPathExpressionException
Сведения о вычислении элемента контекста, разрешении переменных, функций и QName, а также о преобразовании типа возвращаемого значения см. в разделе Вычисление выражений XPath.
Параметр item задаёт контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста; в противном случае будет выброшено исключение XPathExpressionException.
- Примечание к реализации:
- Типом контекста обычно является
Node. - Параметры:
-
item— контекст, в котором будет вычисляться выражение XPath. -
returnType— ожидаемый тип результата, возвращаемого выражением XPath. - Возвращает:
- Объект
Object, представляющий результат вычисления выражения после преобразования результата кreturnType. - Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
IllegalArgumentException— еслиreturnTypeне является одним из типов, определённых вXPathConstants. -
NullPointerException— еслиreturnTypeравноnull.
evaluate
String evaluate(Object item) throws XPathExpressionException
String. Этот метод вызывает evaluate(Object item, QName returnType) с returnType, равным XPathConstants.STRING.
Сведения о вычислении элемента контекста, разрешении переменных, функций и QName, а также о преобразовании типа возвращаемого значения см. в разделе Вычисление выражений XPath.
Параметр item задаёт контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста; в противном случае будет выброшено исключение XPathExpressionException.
- Примечание к реализации:
- Типом контекста обычно является
Node. - Параметры:
-
item— контекст, в котором будет вычисляться выражение XPath. - Возвращает:
- Результат вычисления выражения XPath в виде
String. - Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить.
evaluate
Object evaluate(InputSource source, QName returnType) throws XPathExpressionException
InputSource и возвращает результат в виде значения указанного типа. Этот метод строит модель данных для InputSource и вызывает evaluate(Object item, QName returnType) для полученного объекта документа.
Сведения о вычислении элемента контекста, разрешении переменных, функций и QName, а также о преобразовании типа возвращаемого значения см. в разделе Вычисление выражений XPath.
Если returnType не является одним из типов, определённых в XPathConstants, будет выброшено исключение IllegalArgumentException.
Если source или returnType равно null, будет выброшено исключение NullPointerException.
- Параметры:
-
source—InputSourceдокумента, для которого выполняется вычисление. -
returnType— требуемый тип возвращаемого значения. - Возвращает:
- Объект
Object, представляющий результат вычисления выражения после преобразования результата кreturnType. - Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
IllegalArgumentException— еслиreturnTypeне является одним из типов, определённых вXPathConstants. -
NullPointerException— еслиsource or returnTypeравноnull.
evaluate
String evaluate(InputSource source) throws XPathExpressionException
InputSource и возвращает результат в виде String. Этот метод вызывает evaluate(InputSource source, QName returnType) с returnType, равным XPathConstants.STRING.
Сведения о вычислении элемента контекста, разрешении переменных, функций и QName, а также о преобразовании типа возвращаемого значения см. в разделе Вычисление выражений XPath.
Если source равно null, будет выброшено исключение NullPointerException.
- Параметры:
-
source—InputSourceдокумента, для которого выполняется вычисление. - Возвращает:
- Объект
String, представляющий результат вычисления выражения после преобразования результата кString. - Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
NullPointerException— еслиsourceравноnull.
evaluateExpression
default <T> T evaluateExpression(Object item, Class<T> type) throws XPathExpressionException
class type. Параметр item задаёт контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста; в противном случае будет выброшено исключение XPathExpressionException.
- Требования к реализации:
- Реализация по умолчанию в API XPath эквивалентна следующей:
Поскольку метод(T)evaluate(item, XPathEvaluationResult.XPathResultType.getQNameType(type));evaluateне поддерживает типANY, указание XPathEvaluationResult в качестве типа приведёт к IllegalArgumentException. Любая реализация, поддерживающая типANY, должна переопределить этот метод. - Примечание к реализации:
- Типом контекста обычно является
Node. - Параметры типа:
T— тип класса, возвращаемого выражением XPath.- Параметры:
-
item— контекст, в котором будет вычисляться выражение XPath. -
type— тип класса, который должно возвращать выражение XPath; должен быть одним из типов, описанных в разделе 3.2 Типы классов в обзоре пакета. - Возвращает:
- Результат вычисления выражения.
- Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
IllegalArgumentException— еслиtypeне соответствует типам, определённым вXPathResultType, либо если в качестве типа указан XPathEvaluationResult, но реализация, поддерживающая типANY, недоступна. -
NullPointerException— еслиtypeравноnull. - Начиная с:
- 9
evaluateExpression
default XPathEvaluationResult<?> evaluateExpression(Object item) throws XPathExpressionException
evaluateExpression(Object item, Class type) с типом XPathEvaluationResult: evaluateExpression(item, XPathEvaluationResult.class);
Параметр item задаёт контекст, в котором будет выполняться выражение XPath. Тип контекста зависит от реализации. Если значение равно null, операция не должна зависеть от контекста; в противном случае будет выброшено исключение XPathExpressionException.
- Требования к реализации:
- Реализация по умолчанию в API XPath эквивалентна следующей:
Поскольку методevaluateExpression(item, XPathEvaluationResult.class);evaluateне поддерживает типANY, реализация этого метода по умолчанию всегда будет выбрасывать IllegalArgumentException. Поэтому любая реализация, поддерживающая типANY, должна переопределить этот метод. - Примечание к реализации:
- Типом контекста обычно является
Node. - Параметры:
-
item— контекст, в котором будет вычисляться выражение XPath. - Возвращает:
- Результат вычисления выражения.
- Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
IllegalArgumentException— если реализация этого метода не поддерживает типANY. - Начиная с:
- 9
evaluateExpression
default <T> T evaluateExpression(InputSource source, Class<T> type) throws XPathExpressionException
class type Этот метод строит модель данных для InputSource и вызывает evaluateExpression(Object item, Class type) для полученного объекта документа.
По умолчанию моделью данных JDK является Document.
- Требования к реализации:
- Реализация по умолчанию в API XPath эквивалентна следующей:
Поскольку метод(T)evaluate(source, XPathEvaluationResult.XPathResultType.getQNameType(type));evaluateне поддерживает типANY, указание XPathEvaluationResult в качестве типа приведёт к IllegalArgumentException. Любая реализация, поддерживающая типANY, должна переопределить этот метод. - Параметры типа:
T— тип класса, возвращаемого выражением XPath.- Параметры:
-
source—InputSourceдокумента, для которого выполняется вычисление. -
type— тип класса, который должно возвращать выражение XPath; должен быть одним из типов, описанных в разделе 3.2 Типы классов в обзоре пакета. - Возвращает:
- Результат вычисления выражения.
- Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
IllegalArgumentException— еслиtypeне соответствует типам, определённым вXPathResultType, либо если в качестве типа указан XPathEvaluationResult, но реализация, поддерживающая типANY, недоступна. -
NullPointerException— еслиsource or typeравноnull. - Начиная с:
- 9
evaluateExpression
default XPathEvaluationResult<?> evaluateExpression(InputSource source) throws XPathExpressionException
evaluateExpression(InputSource source, Class type) с типом XPathEvaluationResult: evaluateExpression(source, XPathEvaluationResult.class);
- Требования к реализации:
- Реализация по умолчанию в API XPath эквивалентна следующей:
Поскольку метод(XPathEvaluationResult)evaluateExpression(source, XPathEvaluationResult.class);evaluateне поддерживает типANY, реализация этого метода по умолчанию всегда будет выбрасывать IllegalArgumentException. Поэтому любая реализация, поддерживающая типANY, должна переопределить этот метод. - Параметры:
-
source—InputSourceдокумента, для которого выполняется вычисление. - Возвращает:
- Результат вычисления выражения.
- Исключения:
-
XPathExpressionException— если выражение не удаётся вычислить. -
IllegalArgumentException— если реализация этого метода не поддерживает типANY. -
NullPointerException— еслиsourceравноnull. - Начиная с:
- 9
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/xpath/XPathExpression.html