синтаксис XPath
XPath использует выражения пути для выбора узлов в документе XML или набор узлов. По узлу вдоль пути (путь) или стадии (шагов) к выбранному.
экземпляра XML-документы
Мы будем использовать этот XML-документ в приведенных ниже примерах.
<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 | описание |
---|---|
* | Соответствует любому элементу узла. |
@ * | Соответствует любому узлу атрибута. |
узел () | Соответствует любой тип узла. |
В приведенной ниже таблице, мы перечислили некоторые выражения пути, а также результаты этих выражений:
выражение Путь | результат |
---|---|
/ Книжный магазин / * | Выберите книжный элемент всех дочерних элементов. |
// * | Выделить все элементы в документе. |
// Заголовок [@ *] | Выделить все элементы с атрибутом заголовка. |
Выберите несколько путей
Используя выражение пути "|" оператора, вы можете выбрать несколько путей.
В приведенной ниже таблице, мы перечислили некоторые выражения пути, а также результаты этих выражений:
выражение Путь | результат |
---|---|
// Книга / название | // Книга / цена | Выберите название книги и элементы цен всех элементов. |
// Заголовок | // цена | Выделить все правоустанавливающие документы и ценовых элементов. |
/ Книжный магазин / книга / название | // цена | Выберите элементы книги книжный элемент, принадлежащие ко всем титульных элементов и документировать все ценовые элементы. |