Jest to czwarta część z cyklu XPath – Zadania, który ma na celu przetestować Twoją wiedzę z zakresu wyrażeń XPath na różnych przykładach. Zadania tu zebrane dotyczą głównie Axes (osi), ale bazują też na wyrażeniach poruszonych w poprzednich częściach. XML, na którym bazują zadania, wraz z aplikacją pozwalającą na testy wyrażeń XPath, dostępny jest pod adresem XPath Playground. Teraz, gdy mamy już wszystkie narzędzia gotowe możemy przystąpić do rozwiązywania zadań…
Zatem do dzieła! 🙂
P.S. Ściąga z wyrażeń XPath dostępna jest na stronie XPath cheat sheet 😉
Zadanie 1 – Axes i dzieci
Znajdź wszystkie elementy-dzieci (ang. child/children), które znajdują się w elemencie lost.
Oczekiwany wynik
In the miso soupRyū Murakami2005100.00The Wind-Up Bird ChronicleHaruki Murakami199455.99How to prepare your garden for Eternal AutumnBethany Covenant199821.00
Podpowiedź
Do znajdowania elementu-dziecka służy operator child::.
Rozwiązanie
//child::lost
Zadanie 2 – Axes i dzieci
Znajdź wszystkie elementy-dzieci (ang. child/children) typu title, które znajdują się w elemencie lost.
Oczekiwany wynik
In the miso soup,
The Wind-Up Bird Chronicle,
How to prepare your garden for Eternal Autumn
Podpowiedź
Do znajdowania elementu-dziecka służy operator child::.
Rozwiązanie 1
//lost/*/child::title
Rozwiązanie 2
//lost//title
Zadanie 3 – Axes i dzieci
Znajdź wszystkie elementy-dzieci (ang. child/children), które znajdują się w elemencie book, którego title ma wartość Dune.
Oczekiwany wynik
Dune,
Frank Herbert,
1965,
45.00
Podpowiedź
Do znajdowania elementu-dziecka służy operator child::.
Rozwiązanie 1
//book[title='Dune']/child::*
Rozwiązanie 2
//book[title='Dune']/*
Zadanie 4 – Axes i potomkowie
Znajdź wszystkich potomków (ang. descendant), którzy znajdują się w elemencie lost.
Oczekiwany wynik
In the miso soupRyū Murakami2005100.00,
In the miso soup,
Ryū Murakami,
2005,
100.00,
The Wind-Up Bird ChronicleHaruki Murakami199455.99,
The Wind-Up Bird Chronicle,
Haruki Murakami,
1994,
55.99,
How to prepare your garden for Eternal AutumnBethany Covenant199821.00,
How to prepare your garden for Eternal Autumn,
Bethany Covenant,
1998,
21.00
Podpowiedź
Do znajdowania elementu-potomka służy operator descendant::.
Rozwiązanie
//lost/descendant::*
Zadanie 5 – Axes i rodzeństwo
Znajdź wszystkie elementy-rodzeństwo (ang. siblings) w stosunku do elementu book, które znajduje się w elemencie unknown.
Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.ZgodaPolityka prywatności
Do zadania 2 pasuje mi też: //lost//child::title
Bardzo dobra dedukcja – to też jest wyrażenie, które jest ok 😀