Örnek XML Dokümanı
Örneklerde aşağıdaki XML dosyayı kullanacağız.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="en">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="en">Learning XML</title> <price>39.95</price> </book> </bookstore> |
Düğüm Seçme
XPath XML dokümanı içerisindeki düğümleri seçmek için yol ifadeleri kullanır. Düğüm yol ve adım takip edilerek seçilir. En kullanışlı yol ifadeleri aşağıda listelenmiştir:
...
Yol İfadesi | Sonuç |
---|---|
bookstore | "bookstore" isimli bütün düğümleri döner |
/bookstore | kök eleman olan "bookstore" elemanını seçer Not: "/" işareti kullanıldığında mutlak yol girilmedilir. |
bookstore/book | "bookstore" elemanının çocukları olan "book" düğümlerini |
//book | Dokümanın neresinde olursa olsun tüm "book" elemanlarını seçer |
bookstore//book | "bookstore" elemanının alt düğümlerinde olan tüm "book" düğümlerini seçer |
//@lang | "lang" isimli tüm özellikleri seçer |
Tahminler
Tahminler belirli bir düğümü bulmak için veya özel bir değere içeren düğümü bulmak için kullanılır.
...
Yol İfadesi | Sonuç |
---|---|
/bookstore/book[1] | "bookstore" elemanın çocuğu olan ilk "book" düğümünü seçer. |
/bookstore/book[last()] | "bookstore" elemanın çocuğu olan son "book" düğümünü seçer. |
/bookstore/book[last()-1] | "bookstore" elemanın çocuğu olan sondan bir önceki "book" düğümünü seçer. |
/bookstore/book[position()<3] | "bookstore" elemanın çocuğu olan ilk iki "book" düğümünü seçer. |
//title[@lang] | "lang" özelliği olan "title" elemanlarını seçer |
//title[@lang='en'] | "lang" özelliğinin değeri "en" olan "title" elemanlarını seçer |
/bookstore/book[price>35.00] | "bookstore" elemanın çocuğu olan "price" özelliğinin değeri 35'ten büyük olan "book" elemanlarını seçer. |
/bookstore/book[price>35.00]/title | "bookstore" elemanın "price" özelliğinin değeri 35'ten büyük olan "book" düğümlerinin "title" elemanlarını seçer. |
Bilinmeyen Düğümleri Seçmek
XPath joker tanımları (wildcards) bilinmeyen XML düğümleri seçmek için kullanılır.
...
Yol İfadesi | Sonuç |
---|---|
/bookstore/* | "bookstore" elemanının bütün düğümlerini seçer |
//* | dokümandaki bütün elemanları seçer |
//title[@*] | herhangi bir özelliği olan tüm "title" elemanlarını seçer |
Bir Kaç Yol Seçme
"|" karakterini kullanılarak hazırlanan XPath ifadesi bir kaç yol seçmeyi sağlar.
...
Yol İfadesi | Sonuç |
---|---|
//book/title|//book/price | "bookstore" elemanının çocukları olan "book" ve "price" düğümlerini seçer |
//title|//price | bütün "book" ve "price" düğümlerini seçer |
/bookstore/book/title|//price | "bookstore" elemanın "book" düğümlerinin "title" elemanlarını ve bütün "price" düğümlerini seçer. |