XML i XPath

Co to jest XPath?

XPath Jest głównym elementem standardu XSLT.

XPath może być używany do lokalizacji (nawigacji) elementów i atrybutów w dokumencie XML.

XPath

XPath
  • XPath jest używany do definiowania składni różnych części dokumentu XML
  • XPath używa wyrażeń ścieżki do nawigacji w dokumencie XML
  • XPath zawiera standardową bibliotekę funkcji
  • XPath jest głównym elementem w XSLT i XQuery
  • XPath jest zalecanym standardem W3C

Wyrażenia ścieżki XPath

XPath używa wyrażeń ścieżki, aby wybrać węzły lub zestawy węzłów w dokumencie XML. Te wyrażenia ścieżki wyglądają bardzo podobnie do tych, które widzisz, gdy używasz tradycyjnego systemu plików komputerowego.

Wyrażenia XPath mogą być używane w językach takich jak JavaScript, Java, XML Schema, PHP, Python, C i C++ oraz wielu innych.

XPath jest używany w XSLT

XPath jest głównym elementem standardu XSLT.

Zrozumienie XPath pozwala na pełne wykorzystanie XSL.

Przykład XPath

Użyjemy poniższego dokumentu XML:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="kuchnia">
  <title lang="pl">Rozmowy o jedzeniu</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>

W poniższej tabeli przedstawiamy niektóre wyrażenia XPath oraz ich wyniki:

Wyrażenia XPath Wynik
/bookstore/book[1] Wybierz pierwszy element book jako dziecko elementu bookstore.
/bookstore/book[last()] Wybierz ostatni element book jako dziecko elementu bookstore.
/bookstore/book[last()-1] Wybierz drugi ostatni element book jako dziecko elementu bookstore.
/bookstore/book[position()<3] Wybierz pierwsze dwa elementy book jako dzieci elementu bookstore.
//title[@lang] Wybierz wszystkie elementy title posiadające atrybut lang.
//title[@lang='en'] Wybierz wszystkie elementy title posiadające atrybut lang o wartości "en".
/bookstore/book[price>35.00] Wybierz wszystkie elementy book wewnątrz elementu bookstore, które mają wartość elementu price większą niż 35.00.
/bookstore/book[price>35.00]/title Wybierz wszystkie elementy title, dla których wartość elementu price w elementach book elementu bookstore jest większa niż 35.00.

Kurs XPath

Nauczysz się o XPath Więcej informacji.