XPath – Zadania, część 1 – Proste selektory

Ta lekcja jest pierwszą częścią 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 prostych selektorów. 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 – Wyszukiwanie elementów

Znajdź wszystkie elementy (węzły, ang. nodes) typu author.

Oczekiwany wynik
Frank Herbert,
J. R. R. Tolkien,
Winston Groom,
Jacek Dukaj,
Jacek Doe,
Stephen King,
Stephen King,
John Doe,
Stephen King,
John Brooklyn Sawyer,
Ryū Murakami,
Haruki Murakami,
Bethany Covenant
Podpowiedź
Wyrażenie // służy do wyszukiwania elementów, bez względu gdzie się znajdują.
Rozwiązanie
//author

Zadanie 2 – Wyszukiwanie elementów

Znajdź wszystkie elementy (węzły, ang. nodes) typu author, które znajdują się w elementach typu magazine.

Oczekiwany wynik
John Doe,
John Brooklyn Sawyer,
Bethany Covenant
Podpowiedź
Typ magazine należy uwzględnić w wyrażeniu XPath jako typ rodzica poszukiwanego elementu typu author.
Rozwiązanie
//magazine/author

Zadanie 3 – Wyszukiwanie elementów

Znajdź wszystkie elementy (węzły, ang. nodes) typu author, które znajdują się w elementach typu ordered.

Oczekiwany wynik
Stephen King,
John Brooklyn Sawyer
Podpowiedź 1
Typ ordered należy uwzględnić w wyrażeniu XPath jako typ przodka poszukiwanego elementu typu author.
Podpowiedź 2
Wyrażenie // służy do wyszukiwania elementów, bez względu gdzie się znajdują.
Rozwiązanie
//ordered//author

Zadanie 4 – Wyszukiwanie wartości elementów

Znajdź wszystkie wartości elementów (węzły, ang. nodes) typu author.

Oczekiwany wynik
Frank Herbert,
J. R. R. Tolkien,
Winston Groom,
Jacek Dukaj,
Jacek Doe,
Stephen King,
Stephen King,
John Doe,
Stephen King,
John Brooklyn Sawyer,
Ryū Murakami,
Haruki Murakami,
Bethany Covenant
Podpowiedź
Aby pobrać wartość elementu, należy użyć funkcji text().
Rozwiązanie
//author/text()

Zadanie 5 – Wyszukiwanie wartości atrybutów

Znajdź wszystkie wartości atrybutów typu category.

Oczekiwany wynik
sci-fi,
fantasy,
drama,
sci-fi,
sci-fi drama,
dark fantasy, sci-fi, horror, western,
dark fantasy, sci-fi, horror, western,
IT,
gothic novel, psychological horror,
IT,
Thriller, Suspense,
magical realism,
gardening
Podpowiedź
Aby pobrać wartości atrybutów, należy użyć operatora @.
Rozwiązanie
//@category

Zadanie 6 – Wyszukiwanie wartości atrybutów

Znajdź wszystkie wartości atrybutów typu category dla elementów, które znajdują się w elemencie ordered.

Oczekiwany wynik
gothic novel, psychological horror,
IT
Podpowiedź 1
Aby pobrać wartości atrybutów, należy użyć operatora @.
Podpowiedź 2
Typ ordered należy uwzględnić w wyrażeniu XPath jako typ przodka poszukiwanego atrybutu category.
Rozwiązanie
//ordered//@category

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *