Osi XML (Axe)
- Poprzednia strona Gramatyka XPath
- Następna strona Operatory XPath
Przykład dokumentu XML
Użyjemy tego dokumentu XML w poniższym przykładzie:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore><title lang="eng">Harry Potter</title> <price>29.99</price> <price>39.95</price> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book>
</bookstore>
Oś XPath
Oś może być zdefiniowana względem bieżącego zestawu węzłów. | Wynik |
---|---|
Nazwa osi | ancestor |
Wybierz wszystkie przodków bieżącego węzła (rodzic, dziadek itp.). | ancestor-or-self |
Wybierz wszystkie przodków bieżącego węzła (rodzic, dziadek itp.) oraz sam węzeł. | Wybierz wszystkie atrybuty bieżącego węzła. |
attribute | Wybierz wszystkie potomki elementów bieżącego węzła. |
child | descendant |
Wybierz wszystkie potomki bieżącego węzła (syn, wnuk itp.). | descendant-or-self |
Wybierz wszystkie potomki bieżącego węzła (syn, wnuk itp.) oraz sam węzeł. | following |
Wybierz wszystkie węzły po bieżącym węzle w dokumencie. | namespace |
Wybierz wszystkie węzły przestrzeni nazw bieżącego węzła. | parent |
Wybierz rodzica bieżącego węzła. | preceding |
Wybierz wszystkie węzły przed bieżącym węzłem w dokumencie. | preceding-sibling |
Wybierz wszystkie węzły siostrzeńce bieżącego węzła. | self |
Wybierz bieżący węzeł.
Wyrażenie ścieżki pozycyjnej
Ścieżka pozycyjna może być absolutna lub względna.
Ścieżka pozycyjna absolutna: Rozpoczyna się od ukośnika ( / ), podczas gdy ścieżka względna nie robi tego. W obu przypadkach ścieżka pozycyjna obejmuje jedną lub więcej kroków, które są rozdzielone ukośnikiem:
/step/step/...
Ścieżka pozycyjna względna:
step/step/...
Każdy krok jest obliczany na podstawie węzłów w bieżącym zestawie węzłów.
Krok (step) obejmuje:
- Oś (axis)
- Definiuj drzewo relacji między wybranymi węzłami a bieżącym węzłem
- Test węzła (node-test)
- Rozpoznaj węzły wewnątrz pewnej osi
- Zero lub więcej przedeścigaczy (predykat)
- Dalej wyodrębnij wybrany zestaw węzłów
Gramatyka kroku:
Nazwa osi::węzeł test[przedeścigacz]
Przykład
Przykład | Wynik |
---|---|
child::book | Wybierz wszystkie book węzły, które są potomkami bieżącego węzła. |
attribute::lang | Wybierz atrybut lang bieżącego węzła. |
child::* | Wybierz wszystkie potomki elementów bieżącego węzła. |
attribute::* | Wybierz wszystkie atrybuty bieżącego węzła. |
child::text() | Wybierz wszystkie tekstowe potomki bieżącego węzła. |
child::node() | Wybierz wszystkie potomki bieżącego węzła. |
descendant::book | Wybierz wszystkie potomki book dla bieżącego węzła. |
ancestor::book | Wybierz wszystkich przodków book |
ancestor-or-self::book | Wybierz wszystkich przodków book oraz bieżący węzeł (jeśli węzeł ten jest węzłem book) |
child::*/child::price | Wybierz wszystkie potomki price dla bieżącego węzła. |
- Poprzednia strona Gramatyka XPath
- Następna strona Operatory XPath