Powrót do: XPath – Zadania
Wstęp do XPath – Zadania
W zadaniach zaprezentowanych na tej stronie będziemy bazować na strukturze XML (którą umieściliśmy poniżej w akapicie Bazowa struktura XML). Jak testować swoje wyrażenia i swoje pomysły? Wystarczy, że udacie się na XPath Playground (stronę specjalnie przyszykowaną przez nas) albo jedną z poniższych stron:
Pozwalają one na interaktywne testowanie wyrażeń XPath na podanej strukturze HTML/XML i w przejrzysty sposób pokazują wyniki operacji. Dodatkowo, ściąga z wyrażeń XPath dostępna jest na stronie XPath cheat sheet.
Bazowa struktura XML
XML, na którym bazują zadania, wraz z aplikacją pozwalającą na testy wyrażeń XPath, dostępny jest pod adresem XPath Playground.
<bookstore> <shelves> <book category="sci-fi"> <title lang="en">Dune</title> <author>Frank Herbert</author> <year>1965</year> <price>45.00</price> </book> <book category="fantasy" country="United Kingdom"> <title lang="en">The Lord of the Rings</title> <author>J. R. R. Tolkien</author> <year>1954</year> <price>45.00</price> </book> <book category="drama"> <title lang="en">Forrest Gump</title> <author>Winston Groom</author> <year>1986</year> <price>20.00</price> </book> <book category="sci-fi" country="Poland"> <title lang="pl">Perfekcyjna Niedoskonałość</title> <author>Jacek Dukaj</author> <year>2004</year> <price>35.00</price> </book> <book category="sci-fi drama"> <title lang="pl">Robot Bob</title> <author>Jacek Doe</author> <year>2000</year> <price>15.00</price> </book> <book category="dark fantasy, sci-fi, horror, western"> <title lang="en">The Dark Tower: The Gunslinger</title> <author>Stephen King</author> <year>1987</year> <price>30.00</price> </book> <book category="dark fantasy, sci-fi, horror, western"> <title lang="en">The Dark Tower II: The Drawing of the Three</title> <author>Stephen King</author> <year>1982</year> <price>30.99</price> </book> <magazine category="IT"> <title lang="en">How to program stuff</title> <author>John Doe</author> <year>1991</year> <price>10.00</price> </magazine> </shelves> <ordered> <book category="gothic novel, psychological horror"> <title lang="en">The Shining</title> <author>Stephen King</author> <year>1977</year> <price>45.00</price> </book> <magazine category="IT"> <title lang="en">How to program other stuff</title> <author>John Brooklyn Sawyer</author> <year>1992</year> <price>20.00</price> </magazine> </ordered> <lost> <book category="Thriller, Suspense"> <title lang="en">In the miso soup</title> <author>Ryū Murakami</author> <year>2005</year> <price>100.00</price> </book> <book category="magical realism"> <title lang="en">The Wind-Up Bird Chronicle</title> <author>Haruki Murakami</author> <year>1994</year> <price>55.99</price> </book> <magazine category="gardening"> <title lang="en">How to prepare your garden for Eternal Autumn</title> <author>Bethany Covenant</author> <year>1998</year> <price>21.00</price> </magazine> </lost> <unknown> <book cover="soft"> <title>Discipline</title> <alt> <title>Discipline: Way of freedom</title> </alt> <price>120.00</price> </book> <book cover="hard"> <title>Discipline II</title> <price>125.00</price> </book> <book cover="hard"> <title language="en">Heavy matter</title> <year>1854</year> <price>99.00</price> </book> <palimpsest> <title>Codex Nitriensis</title> <price>999.00</price> </palimpsest> <palimpsest> <title>Codex Zacynthius</title> <price>999.00</price> </palimpsest> <palimpsest> <title>Codex X</title> <alt> <title>Codex 10</title> </alt> <price>999.00</price> </palimpsest> </unknown> </bookstore>
Zadanie 0 – jak przykładowo wykonywać zadanie
Załóżmy że masz za zadanie wyszukać elementy danego typu na przykład: year
.
Otwórz w nowej zakładce XPath Playground.
Zobaczmy z czego się składa strona do testów:
- To miejsce gdzie wrzucamy strukturę XML – specjalnie dla Ciebie już umieściliśmy kod na którym masz wykonywać przykłady 🙂
- Tutaj wpisujemy wyrażenia XPath. Szczęśliwie fraza, którą mieliśmy wyszukać jest wpisana jako przykład ;). Naciskamy przycisk Go! po wpisaniu wymyślonego przez nas XPatha.
- W tym oknie podziwiamy znalezione elementy. Ale nie tylko – w tytule okna widzimy ile danych elementów zostało odnalezionych 😀
Wracamy do naszego zadania i rozwijamy pierwszą podpowiedź klikając w nią:
No tak to się zgadza z naszym wynikiem
Sprawdźmy więc czy nasz XPath //year
zgadza się z tym co jest ukryte w rozwiązaniu:
Ok czyli się udało – XPath w narzędziu okazał się poprawny 🙂 Teraz po tym niezbyt wyczerpującym zadaniu czas przejść do realnych wyzwań 😀
3, 2, 1…
Czyli wiesz na czym będziemy przeprowadzać nasze XPathowe eksperymenty. Nie bój się nawet najbardziej szalonych operacji gdyż nie zrobisz krzywdy temu słodkiemu XMLowi 🙂
Każda z kolejnych lekcji będzie zawierała w sobie zadania poświęcone danemu zagadnieniu.
No to co? Nie czekamy i zaczynamy 😀