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 😀

