XPath (the XML Path language) является языком для поиска информации в документе XML.
Что такое XPath?
|
Выражения пути XPath
XPath использует выражения пути для выбора узлов или множества узлов в документе XML. Эти выражения пути очень похожи на выражения, которые вы видите, когда вы работаете с традиционной файловой системы компьютера.
Сегодня XPath выражения могут также использоваться в JavaScript, Java, XML-схемы, PHP, Python, C и C ++, а также множество других языков.
XPath используется в XSLT
XPath является одним из основных элементов в стандарте XSLT. Без знания XPath вы не будете иметь возможность создавать XSLT-документы.
Пример XPath
Мы будем использовать следующий XML-документ:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
В приведенной ниже таблице мы перечислили некоторые XPath выражения и результат выражения:
Выражение XPath | результат |
---|---|
/bookstore/book[1] | Выбирает первый книжный элемент, который является дочерним элементом книжного магазина |
/bookstore/book[last()] | Выбирает последнюю книгу элемент, который является дочерним элементом книжного магазина |
/bookstore/book[last()-1] | Выбор последнего, но один книжный элемент, который является дочерним элементом книжного магазина |
/bookstore/book[position()<3] | Выбор первых двух книг элементы, которые являются потомками книжного магазина элемента |
//title[@lang] | Выбирает все названия элементов, которые имеют атрибут с именем Ланг |
//title[@lang='en'] | Выбирает все названия элементов , которые имеют "lang" атрибут со значением "en" |
/bookstore/book[price>35.00] | Выбирает все книжные элементы книжного элемента, имеют цену элемент со значением больше, чем 35.00 |
/bookstore/book[price>35.00]/title | Выбирает все элементы заголовка книги элементов книжного элемента, имеют цену элемент со значением больше, чем 35.00 |
Если вы хотите узнать больше о XPath, пожалуйста , прочитайте наш XPath учебник .