Węzły XPath
Terminologia XPath
Węzły
W XPath istnieje siedem rodzajów węzłów: elementy, atrybuty, tekst, przestrzeń nazw, instrukcje przetwarzania, komentarze i węzły dokumentów.
Dokumenty XML są traktowane jako drzewa węzłów. Najwyższy element drzewa nazywany jest elementem głównym.
Spójrz na następujący dokument XML:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Przykład węzłów w powyższym dokumencie XML:
<bookstore> (root element node)
<author>J K. Rowling</author> (element node)
lang="en" (attribute node)
Wartości atomowe
Wartości atomowe to węzły bez dzieci ani rodziców.
Przykład wartości atomowych:
J K. Rowling
"en"
Przedmiotów
Pozycje to wartości atomowe lub węzły.
Relacja węzłów
Rodzic
Każdy element i atrybut ma jednego rodzica.
W poniższym przykładzie; element książki jest elementem nadrzędnym tytułu, autora, roku i ceny:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Dzieci
Węzły elementów mogą mieć zero, jedno lub więcej elementów potomnych.
W poniższym przykładzie; elementy tytułu, autora, roku i ceny są elementami potomnymi elementu książki:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Rodzeństwo
Węzły, które mają tego samego rodzica.
W poniższym przykładzie; tytuł, autor, rok i elementy ceny to rodzeństwo:
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
Przodkowie
Rodzic węzła, rodzic rodzica itp.
W poniższym przykładzie; przodkami elementu title są element książki i element księgarni:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>
Potomków
Dzieci węzła, dzieci dzieci itp.
W poniższym przykładzie; potomkami elementu księgarni są książka, tytuł, autor, rok i elementy ceny:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
</bookstore>