XPath Dilbilgisi
- Önceki Sayfa XPath Düğümü
- Sonraki Sayfa XPath Çubuğu
XPath, XML belgelerindeki düğümleri veya düğüm gruplarını seçmek için yol ifadelerini kullanır. Düğümler, yol veya adımlar boyunca seçilir.
XML Örneği Dokümanı
Aşağıdaki örneklerde bu XML belgesini kullanacağız.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Düğüm seçin
XPath, XML belgelerinde düğümleri seçmek için yol ifadelerini kullanır. Düğümler, yol veya adımlar boyunca seçilir.
Aşağıda, en yararlı yol ifadelerini sıraladık:
İfade | Açıklama |
---|---|
nodename | Bu düğümün tüm alt nodelerini seçin. |
/ | Kök düğümü seçin. |
// | Geçerli seçimle eşleşen düğümleri seçin, düğümlerin konumunu dikkate almadan. |
. | Geçerli düğümü seçin. |
.. | Geçerli düğümün ebeveyn düğümünü seçin. |
@ | Özellikleri seçin. |
Örnek
Aşağıdaki tabloda, bazı yol ifadeleri ve bu ifadelerin sonuçlarını sıraladık:
Yol ifadesi | Sonuç |
---|---|
bookstore | bookstore elementinin tüm alt nodelerini seçin. |
/bookstore |
Root element bookstore'ı seçin. Açıklama: Eğer yol başlıyor doğru çizgi ( / ) ile, o zaman bu yol her zaman belirli bir elemente olan mutlak yol anlamına gelir! |
bookstore/book | bookstore'ın tüm alt elementlerine ait book elementlerini seçin. |
//book | Belgedeki konumları ne olursa olsun tüm book alt elementlerini seçin. |
bookstore//book | bookstore unsurlarının tüm alt elementlerini seçin, ne olursa olsun bu elementler bookstore altında hangi konumda olurlarsa olsun. |
//@lang | Adı lang olan tüm özellikleri seçin. |
Yargı (Predicates)
Yargı, belirli bir düğümü veya belirli bir değeri içeren belirli bir düğümü bulmak için kullanılır.
Yargı, parantez içinde yer alır.
Örnek
Aşağıdaki tabloda, bazı yargısal yol ifadeleri ve bu ifadelerin sonuçlarını listeliyoruz:
Yol ifadesi | Sonuç |
---|---|
/bookstore/book[1] | bookstore alt elementinin ilk book element'ini seçin. |
/bookstore/book[last()] | bookstore alt elementinin son book element'ini seçin. |
/bookstore/book[last()-1] | bookstore alt elementinin son ikinci book element'ini seçin. |
/bookstore/book[position()<3] | bookstore elementinin en öndeki iki alt elementi olan book element'lerini seçin. |
//title[@lang] | Adı lang olan tüm title element'lerini seçin. |
//title[@lang='eng'] | Tüm title element'lerini seçin ve bu element'lerin lang özelliğinin değeri eng olmalıdır. |
/bookstore/book[price>35.00] | bookstore elementindeki tüm book element'lerini seçin ve bu price element'lerinin değeri 35.00'den büyük olmalıdır. |
/bookstore/book[price>35.00]/title | bookstore elementindeki book element'in tüm title element'lerini seçin ve bu price element'lerinin değeri 35.00'den büyük olmalıdır. |
Bilinmeyen düğümü seçin
XPath jokerleri, bilinmeyen XML element'lerini seçmek için kullanılır.
Joker | Açıklama |
---|---|
* | Her türlü element düğümünü eşleyin. |
@* | Her türlü özellik düğümünü eşleyin. |
node() | Her türlü düğümü eşleyin. |
Örnek
Aşağıdaki tabloda, bazı yol ifadeleri ve bu ifadelerin sonuçlarını listeliyoruz:
Yol ifadesi | Sonuç |
---|---|
/bookstore/* | bookstore element'in tüm alt element'lerini seçin. |
//* | Belgedeki tüm element'leri seçin. |
//title[@*] | Tüm özellikli title element'lerini seçin. |
Birkaç yol seçin
Yol ifadelerinde "|" işleçini kullanarak birkaç yol seçebilirsiniz.
Örnek
Aşağıdaki tabloda, bazı yol ifadeleri ve bu ifadelerin sonuçlarını listeliyoruz:
Yol ifadesi | Sonuç |
---|---|
//book/title | //book/price | book element'in tüm title ve price element'lerini seçin. |
//title | //price | Belgedeki tüm title ve price elemanlarını seçin. |
/bookstore/book/title | //price | bookstore elemanına ait tüm title elemanlarını ve belgedeki tüm price elemanlarını seçin. |
- Önceki Sayfa XPath Düğümü
- Sonraki Sayfa XPath Çubuğu