XPath Grameri
- Önceki Sayfa XPath Düğümleri
- Sonraki Sayfa XPath Eksenleri
XPath, XML belgesindeki düğümleri veya düğüm kümelerini seçmek için yol ifadeleri kullanır. Düğüm, yol (path) veya adım (steps) üzerinden seçilir.
XML örnek belgesi
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çme
XPath, XML belgelerinde düğüm seçmek için yol ifadesi kullanır. Düğüm, yol veya adım üzerinden seçilir.
En kullanışlı yol ifadeleri aşağıda listelenmiştir:
İfade | Tanım |
---|---|
nodename | Bu düğümün tüm alt nodelerini seçin. |
/ | Kök düğümü seçin. |
// | Geçerli seçim yapılan düğümdeki tüm nodeleri seçin, nerede olduklarına bakılmaksızın. |
. | Geçerli düğümü seçin. |
.. | Geçerli düğümün ebeveyn düğümünü seçin. |
@ | Özellik seçin. |
Örnek
Aşağıdaki tabloda, bazı yol ifadeleri ve bu ifadelerin sonuçları listelenmiştir:
Yol İfade | Sonuç |
---|---|
bookstore | bookstore elementinin tüm alt nodelerini seçin. |
/bookstore |
Root elementi bookstore seçin. Açıklama: Eğer yol başlıyorsa, bu yol her zaman belirli bir elemente olan绝对yol anlamına gelir! |
bookstore/book | bookstore'nın tüm alt elementlerinin book element'lerini seçin. |
//book | Belirtilen konumda olmasalar da tüm book alt elementlerini seçin. |
bookstore//book | bookstore elementinin tüm soy elementlerinin book element'lerini seçin, ne kadar derin olursa olsun. |
//@lang | Adı lang olan tüm özellikleri seçin. |
Yargılar (Predicates)
Yargılar, belirli bir düğümü veya belirli bir değeri içeren belirli bir düğümü bulmak için kullanılır.
Yargı (Predicates) içine gömülmüştür.
Örnek
Aşağıdaki tabloda, bazı yargısal ifadeler ve bu ifadelerin sonuçları listelenmiştir:
Yol İfade | 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 element'inin en önündeki iki book element'ini seçin. |
//title[@lang] | Adı lang olan tüm title element'lerini seçin. |
//title[@lang='eng'] | lang özelliğinin değeri eng olan tüm title element'lerini seçin. |
/bookstore/book[price>35.00] | bookstore element'in tüm book element'lerini seçin ve bunların price element'inin değeri 35.00'den büyük olmalıdır. |
/bookstore/book[price>35.00]/title | bookstore elementindeki book elementlerinin tüm title elementlerini seçin ve bu title elementlerinin price elementlerinin değeri 35.00'den büyük olanları seçin. |
Bilinmeyen Düğümleri Seçme
XPath jokerleri, bilinmeyen XML elementlerini seçmek için kullanılır.
Joker | Tanım |
---|---|
* | Herhangi bir element düğümünü eşleştirme |
@* | Herhangi bir özellik düğümünü eşleştirme |
node() | Herhangi bir türdeki düğümü eşleştirme |
Örnek
Aşağıdaki tabloda, bazı yol ifadeleri ve bu ifadelerin sonuçlarını listeliyoruz:
Yol İfade | Sonuç |
---|---|
/bookstore/* | bookstore elementinin tüm alt elementlerini seçin. |
//* | Belgedeki tüm elementleri seçin. |
//title[@*] | Tüm özellikli title elementlerini seçin. |
Birkaç Yol Seçme
Yol ifadelerinde "|" operatörünü kullanarak birkaç yol seçebilirsiniz.
Örnek
Aşağıdaki tabloda, bazı yol ifadeleri ve bu ifadelerin sonuçlarını listeliyoruz:
Yol İfade | Sonuç |
---|---|
//book/title | //book/price | book elementinin tüm title ve price elementlerini seçin. |
//title | //price | Belgedeki tüm title ve price elementlerini seçin. |
/bookstore/book/title | //price | bookstore elementine ait tüm book elementlerinin tüm title elementlerini ve belgedeki tüm price elementlerini seçin. |
- Önceki Sayfa XPath Düğümleri
- Sonraki Sayfa XPath Eksenleri