Örnek XML Dokümanı

Örneklerde aşağıdaki XML dosyayı kullanacağız.

Örnek XML
<?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:

İfadeAçıklama
dugumadi"dugumadi" isimli bütün düğümleri seçer
/Kök düğümden itibaren seçer
//Seçim ile eşleşen ve hangi detayda olduğuna bakılmadan geçerli düğümden doküman içerisindeki tüm düğümleri seçer
.Geçerli düğümü seçer
..Geçerli düğümünün ebeveynini seçer
@Özellikleri seçer

Aşağıdaki tabloda bazı yol idadeleri ve sonuçları listelenmiştir:

Yol İfadesiSonuç
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
//bookDokü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.

 

Tahminler her zaman köşeli parantezler içine gömülüdür.

 

Aşağıdaki tabloda bazı tahmin içeren yol ifadeleri ve sonuçları listelenmiştir:

Yol İfadesiSonuç
/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.

Joker TanımAçıklama
*Herhangi bir eleman düğümü ile eşleşir
@*Herhangi bir özellik düğümü ile eşleşir
node()Herhangi bir tip düğüm ile eşleşir

Aşağıdaki tabloda bazı yol ifadeleri ve sonuçları listelenmiştir:

Yol İfadesiSonuç
/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.

 

Aşağıdaki tabloda bazı yol ifadeleri ve sonuçları listelenmiştir:

Yol İfadesiSonuç
//book/title|//book/price"bookstore" elemanının çocukları olan "book" ve "price" düğümlerini seçer
//title|//pricebü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.




  • No labels