Najnowsze tutoriale tworzenie stron internetowych
 

Osie XPath


Przykład dokumentu XML

Będziemy używać poniższego dokumentu XML w poniższych przykładach.

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book>
  <title lang="en">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="en">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>

Osie XPath

Oś definiuje zbiór węzłów w stosunku do bieżącego węzła.

AxisName Wynik
przodek Wybiera wszystkie przodków (parent, grandparent, etc.) bieżącego węzła
przodek-or-self Wybiera wszystkie przodków (parent, grandparent, etc.) bieżącego węzła i aktualny węzeł sam
atrybut Wybiera wszystkie atrybuty bieżącego węzła
dziecko Zaznacza wszystkie dzieci bieżącego węzła
potomek Wybiera wszystkie potomków (children, grandchildren, etc.) bieżącego węzła
potomek-or-self Wybiera wszystkie potomków (children, grandchildren, etc.) bieżącego węzła i obecny sam węzeł
następujący Zaznacza wszystko w dokumencie po znaczniku zamykającym bieżącego węzła
following-rodzeństwo Wybiera wszystkie rodzeństwo po bieżącego węzła
namespace Wybiera wszystkie węzły przestrzeni nazw bieżącego węzła
roślina mateczna Zaznacza rodzica bieżącego węzła
poprzedzający Wybiera wszystkie węzły, które pojawiają się przed bieżącego węzła w dokumencie, z wyjątkiem przodków, przypisywać węzły i węzły przestrzeni nazw
poprzednich rodzeństwo Wybiera wszystkie rodzeństwa przed bieżącego węzła
samego siebie Wybiera bieżący węzeł

Lokalizacja Ścieżka Expression

Ścieżka lokalizacja może być bezwzględne lub względne.

Ścieżka bezwzględna lokalizacja rozpoczyna się ukośnikiem ( / ) a ścieżka względna lokalizacja nie. W obu przypadkach droga położenie składa się z jednego lub większej ilości etapów, oddzielonych ukośnikiem:

An absolute location path:

/step/step/...

A relative location path:

step/step/...

Każdy krok jest oceniany na węzłach w bieżącym zestaw węzłów.

Etap składa się z:

  • (defines the tree-relationship between the selected nodes and the current node)
  • węzeł testu (identifies a node within an axis)
  • zero lub więcej orzeczniki (to further refine the selected node-set)

Składnia kroku lokalizacja to:

axisname::nodetest[predicate]

Przykłady

Przykład Wynik
child :: książka Wybiera wszystkie węzły książce, że jesteśmy dziećmi bieżącego węzła
atrybut :: lang Wybiera lang atrybut bieżącego węzła
dziecko::* Zaznacza wszystkie dzieci elementem bieżącego węzła
atrybut::* Wybiera wszystkie atrybuty bieżącego węzła
child :: text() Zaznacza wszystkie dzieci węzła tekstowego bieżącego węzła
child :: node() Zaznacza wszystkie dzieci bieżącego węzła
potomek :: książka Wybiera wszystkie potomków ewidencyjna bieżącego węzła
przodek :: książka Wybiera wszystkie przodków ewidencyjna bieżącego węzła
przodek-or-self :: książka Wybiera wszystkie przodków ewidencyjna bieżącego węzła - i prąd, a także, jeśli jest to węzeł książka
child :: * / child :: cena Wybiera wszystkie wnuki cena bieżącego węzła