Ось XPath (Axes)
- Предыдущая страница Грамматика XPath
- Следующая страница Операторы XPath
XML-пример документ
Мы будем использовать этот XML-документ в следующем примере:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore><title lang="eng">Harry Potter</title> <price>29.99</price> </book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Ось XPath
Ось может определять набор узлов относительно текущего узла. | Результат |
---|---|
Имя оси | ancestor |
Выберите всех предков текущего узла (родителя, дедушки и т.д.). | ancestor-or-self |
Выберите всех предков текущего узла (родителя, дедушки и т.д.) и сам узел. | Выберите все атрибуты текущего узла. |
attribute | Выберите все подэлементы текущего узла. |
child | descendant |
Выберите все потомки текущего узла (дочери, внучки и т.д.). | descendant-or-self |
Выберите все потомки текущего узла (дочери, внучки и т.д.) и сам узел. | following |
Выберите все узлы после окончания тега текущего узла в документе. | namespace |
Выберите все узлы пространства имен текущего узла. | parent |
Выберите родителя текущего узла. | preceding |
Выберите все узлы перед началом тега текущего узла в документе. | preceding-sibling |
Выберите все узлы, предшествующие текущему узлу в том же уровне. | self |
Выберите текущий узел.
Выражение пути позиции
Путь позиции может быть абсолютным или относительным.
Абсолютный путь позиции начинается с обратной косой черты (/), а относительный путь не начинается с нее. В обоих случаях путь позиции включает один или несколько шагов, каждый из которых разделен косой чертой:
/step/step/...
Относительный путь позиции:
step/step/...
Каждый шаг вычисляется на основе узлов в текущем наборузлов
Шаг (step) включает:
- Ось (axis)
- Определите деревенские отношения между выбранным узлом и текущим узлом
- Тест узла (node-test)
- Идентифицируйте узлы в определенном предике
- Ноль или более предикатов (predicate)
- Более глубоко уточните所选ый набор узлов
Грамматика шага:
Имя оси::узел тест[предикат]
Пример
Пример | Результат |
---|---|
child::book | Выберите все узлы book, являющиеся подузлами текущего узла. |
attribute::lang | Выберите атрибут lang текущего узла. |
child::* | Выберите все подэлементы текущего узла. |
attribute::* | Выберите все атрибуты текущего узла. |
child::text() | Выберите все текстовые подузлы текущего узла. |
child::node() | Выберите все подузлы текущего узла. |
descendant::book | Выберите всех descendants book для текущего узла. |
ancestor::book | Выберите всех предков book |
ancestor-or-self::book | Выберите всех предков book и текущий узел (если текущий узел является узлом book) |
child::*/child::price | Выберите все потомки price для текущего узла. |
- Предыдущая страница Грамматика XPath
- Следующая страница Операторы XPath