На следующем шаге получите указатель на узел, выполняющий роль узла контекста при вычислении выражения XPath. Это можно сделать с помощью интерфейса DOM документа
XalanDocument
. Сконструируйте
XPathEvaluator
для вычисления выражения XPath и
XalanDocumentPrefixResolver
для разрешения префиксов пространств имен в документе XML. Наконец, вызовите метод
XPathEvaluator::evaluate
, передавая в качестве аргументов
DOMSupport
, контекстный узел, XPath-выражение и
PrefixResolver
. Результат вычисления выражения возвращается в виде объекта типа
XObjectPtr
; тип допустимых операций над этим объектом зависит от типа его данных XPath, который можно узнать при помощи метода
getType
.
Например, пусть требуется извлечь список имен животных из документа animals.xml, представленного в примере 14.1. Вы можете это сделать, выполняя синтаксический анализ документа и вычисляя XPath-выражение
animalList/animal/name/child::text
с использованием корня документа в качестве контекстного узла. Это проиллюстрировано в примере 14.23.
Пример 14.23. Вычисление ХРаth-выражения, используя Xalan