Примеры XPath
В этом разделе проводится обзор синтаксических примеров, используемых в справочной документации по XPath. Все примеры используют образец XML-файла с синтаксисом XPath (inventory.xml). Пример использования выражения XPath в тестовом файле можно найти в подразделе «Пример использования объединений ( | )» в конце данного раздела.
Выражение | Ссылается на |
---|---|
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Элемент документа ( |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы, являющиеся дочерними для элементов |
|
Все элементы |
|
Все элементы-"внуки" текущего контекста. |
|
Все элементы с атрибутом |
|
Имя атрибута |
|
Атрибут |
|
Возвращает пустой набор узлов, потому что атрибуты не содержат дочерних элементов. Такое выражение не запрещено грамматикой языка XPath, но, строго говоря, не является допустимым. |
|
Все элементы |
|
Атрибут |
|
Все атрибуты контекста текущего элемента. |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Третий элемент |
|
Элемент |
|
Все элементы из пространства имен |
|
Все атрибуты из пространства имен |
Следует заметить, что индексы задаются относительно родительского узла. Допустим, имеются следующие данные.
<x>
<y/>
<y/>
</x>
<x>
<y/>
<y/>
</x>
Выражение | Ссылается на |
---|---|
|
Первый дочерний элемент |
|
Первый дочерний элемент |
|
Первый элемент |
|
Второй дочерний элемент |
Оставшиеся примеры относятся к «Образцу XML-файла с синтаксисом XPath».
Выражение | Ссылается на |
---|---|
|
Последний элемент |
|
Последний дочерний элемент |
|
Последний элемент |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Все элементы |
|
Первые три книги (1, 2, 3). |
|
Все элементы |
|
Все элементы |
|
все элементы author, имеющие какой-либо дочерний элемент со значением |
|
Все элементы |
|
Все элементы |
|
Первые два элемента |
|
Второй текстовый узел в каждом элементе |
|
Ближайший элемент |
|
Ближайший элемент |
|
Ближайший элемент |
Пример использования объединений (|)
Работу операции объединения можно продемонстрировать на примере следующего выражения XPath:
x | y/x
оно выбирает все элементы <x> со значениями green или blue из следующего XML-файла:
XML-файл (data1.xml)
XSLT-файл (union.xsl)
Форматированный вывод
green,blue,blue,green
Вывод обработчика
<?xml version="1.0" encoding="UTF-16"?>green,blue,blue,green