Latest web development tutorials

синтаксис XPath

XPath использует выражения пути для выбора узлов в документе XML или набор узлов. По узлу вдоль пути (путь) или стадии (шагов) к выбранному.


экземпляра XML-документы

Мы будем использовать этот XML-документ в приведенных ниже примерах.

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>

<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>

</bookstore>


Выберите узел

XPath использует выражения пути для выбора узлов в документе XML. Или по пути через узел для выбора шага. Ниже перечислены наиболее полезные выражения пути:

выражение описание
имя_узла Выберите все дочерние узлы данного узла.
/ Выберите из корневого узла.
// Выберите документ из узла согласования выбранного узла, независимо от их местоположения.
, Выберите текущий узел.
.. Выберите родительский элемент текущего узла.
@ Выберите Свойства.

В приведенной ниже таблице мы приводим некоторые из путей выражения и результат выражения:

выражение Путь результат
книжный магазин Выберите все дочерние узлы книжного элемента.
/ Книжный магазин

Выберите корневой элемент книжный магазин.

Примечание: Если путь начинается с косой черты (/), путь всегда представитель абсолютного пути к элементу!

книжный магазин / книга Выберите вложенные элементы, принадлежащие в книжном магазине все книжные элементы.
// Книга Выделить все книги подэлементы, независимо от их положения в документе.
книжный магазин // книга Выбирает все книжные элементы, которые не принадлежат к потомкам книжного магазина элемента, независимо от того, в каком положении они находятся в и под книжный магазин.
// @ Lang Выберите все свойства названных Ланг.


Предикат (Предикаты)

Предикат используется, чтобы найти конкретный узел или узел, который содержит значение, указанное.

Предикат вкладывается в квадратные скобки.

В приведенной ниже таблице, мы перечислили некоторые выражения пути с предикатами и результат выражения:

выражение Путь результат
/ Книжный магазин / книга [1] Выберите вложенные элементы, принадлежащие первой книги книжный элемент.
/ Книжный магазин / книга [последняя ()] Выберите вложенные элементы, принадлежащие книжный последний книжный элемент.
/ Книжный магазин / книга [последняя () - 1] Выберите вложенные элементы, относящиеся к взаимным книжного магазина второго книжного элемента.
/ Книжный магазин / книга [положение () <3] Выберите первые две книги элементы книжного элемента, принадлежащего к подэлементов.
// Название [@lang] Выбрать все атрибут с именем Ланг имеет заголовок элемента.
// Заголовок [@ LANG = 'анг'] Выделите все названия элементов, и эти элементы имеют значение атрибута англ яз.
/bookstore/book[price>35.00] Выделить все книжные элементы книжного элемента, а значение ценового элемента, который должен быть больше, чем 35.00.
/bookstore/book[price>35.00]/title Выберите все элементы заголовка книги элементов книжного элемента, и в котором значение ценового элемента должно быть больше, чем 35.00.


Выберите неизвестные узлы

XPath групповые символы могут быть использованы для выбора неизвестных элементов XML.

Wildcard описание
* Соответствует любому элементу узла.
@ * Соответствует любому узлу атрибута.
узел () Соответствует любой тип узла.

В приведенной ниже таблице, мы перечислили некоторые выражения пути, а также результаты этих выражений:

выражение Путь результат
/ Книжный магазин / * Выберите книжный элемент всех дочерних элементов.
// * Выделить все элементы в документе.
// Заголовок [@ *] Выделить все элементы с атрибутом заголовка.


Выберите несколько путей

Используя выражение пути "|" оператора, вы можете выбрать несколько путей.

В приведенной ниже таблице, мы перечислили некоторые выражения пути, а также результаты этих выражений:

выражение Путь результат
// Книга / название | // Книга / цена Выберите название книги и элементы цен всех элементов.
// Заголовок | // цена Выделить все правоустанавливающие документы и ценовых элементов.
/ Книжный магазин / книга / название | // цена Выберите элементы книги книжный элемент, принадлежащие ко всем титульных элементов и документировать все ценовые элементы.