XML и XPath
Что такое XPath?
XPath является одним из основных элементов стандарта XSLT.
XPath может использоваться для定位 (навигации) элементов и атрибутов в документе XML.
XPath

- XPath используется для определения грамматики различных частей документа XML
- XPath использует путь выражения для навигации по документу XML
- XPath включает стандартную библиотеку функций
- XPath является основным элементом в XSLT и XQuery
- XPath является рекомендованным стандартом W3C
Путь выражения XPath
XPath использует путь выражения для выбора узлов или набора узлов в документе XML. Эти путь выражения очень похожи на те, которые вы видите, когда используете традиционную систему файловых файлов.
Выражения XPath могут использоваться в JavaScript, Java, XML Schema, PHP, Python, C и C++ и многих других языках.
XPath используется в XSLT
XPath является одним из основных элементов стандарта XSLT.
Если вы понимаете XPath, вы сможете充分利用 XSL.
Примеры XPath
Мы будем использовать следующий XML-документ:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <year>2013</year> <price>35</price> </book> <book category="детские"> <title lang="zh">Удачный папа-лис</title> <author>Рольф Дал</author> <year>2009</year> <price>10.00</price> </book> <book category="литература"> <title lang="zh">Перевод знакомого в незнакомое</title> <author>Зигмунд Бауман</author> <author>Петер Хавна</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="политика"> <title lang="zh">О демократии в США</title> <author>Токвиль</author> <year>1989</year> <price>60.00</price> </book> </bookstore>
В таблице ниже мы перечислили некоторые выражения XPath и результаты этих выражений:
Выражения XPath | Результат |
---|---|
/bookstore/book[1] | Выберите первый элемент book, который является ребенком элемента bookstore. |
/bookstore/book[last()] | Выберите последний элемент book, который является ребенком элемента bookstore. |
/bookstore/book[last()-1] | Выберите второй по счету элемент book, который является ребенком элемента bookstore. |
/bookstore/book[position()<3] | Выберите первые два элемента book, которые являются детьми элемента bookstore. |
//title[@lang] | Выберите все элементы title, у которых есть атрибут lang. |
//title[@lang='en'] | Выберите все элементы title, у которых атрибут lang имеет значение "en". |
/bookstore/book[price>35.00] | Выберите все элементы book в элементе bookstore, у которых значение элемента price больше 35.00. |
/bookstore/book[price>35.00]/title | Выбрать все элементы title, для которых значение элемента price больше 35.00 в элементе book, который находится в элементе bookstore. |
Учебник по XPath
Вы узнаете о XPath Дополнительная информация.