İçerikler :

// Operatörü .. Operatörü . Operatörü [] Operatörü * Operatörü | Operatörü Bir XML Üzerinden Yapılan XPath Örnekler XPath XPath'de Index İle Seçim XPath Fonskiyonlar XPath ile Attribute Seçimi XPath ile Bir Elementi Attribute Değerlerine .. XPath ile Element Seçimi XPath Mantıksal Operatörler

Bu Sayfayı Paylaş:

Kavram

XPath

Tanım: Bir XML dökümanında elementlere, elementlerin özelliklerine ve her türlü içeriğe erişmek için kullanılan dil. Örneğin kisiler/dogum_tarihi gibi bir ifade ile XML dökümanında tüm kisiler elementlerinin altındaki tüm dogum_tarihi elementlerinin listesi alınabilir

Veri

XPath ile Element Seçimi

XPath'de element seçini aşağıdaki gibidir :


/tag/subtag/subsubtag


Örneğin /person/car gibi bir ifade kişi etiketi içindeki car etiketlerini seçer


Not : / işareti bir document'ın en tepesi yani root element anlamına gelir


Veri

XPath ile Attribute Seçimi

Bir element'in attributesine erişmek için


/tag/subtag/@name


şeklinde bir ifade kullanılır.
Not : Bir element'in attributesi, o element'in altında kabul edilir. '@' işareti attribute'yi alt elementlerden ayırmak için kullanılır


Kavram

* Operatörü

Tanım: XPath'te bir node'un altınaki tüm node'ları seçmek için kullanılan operatör. Örneğin /person/* gibi bir ifade , person'in altındaki tüm node'ları seçer

Kavram

// Operatörü

Tanım: XPath'te bir node'un altına herhangi bir düzeydeki çocuklarını belirtmek için kullanılan operatör. Örneğin /person//name gibi bir ifade hem person'in name isimli elementleri, hem de daha da alt dallardaki name isimli elementleri seçer

Kavram

| Operatörü

Tanım: XPath'te iki path ifadesinin bileşim kümesini, yani toplamını veren operatör. Örneğin /person/car/door | company/bulding/door ifadesi hem car hem de building içindeki door elementlerini verir

Kavram

. Operatörü

Tanım: XPath'te bir node'un kendisini belirttiği (göreli konumlara göre seçme için kullanılabilir) operatör. Örneğin ./@name ifadesi seçili olan elementin name attirbutesini seçer

Kavram

.. Operatörü

Tanım: XPath'te seçili olan node'ın bir üstündeki node'a geçemek için kullanılan operatör

Kavram

[] Operatörü

Tanım: XPath'e index veya seçin koşulu vermek için kullanılan operatör. Örneğin sperson[3] üçüncü elementi, car[@model] model attrübutesi bulunana elementleri, car[@model='TX'] model değeri TX olan elementleri verir. [][] şeklinde üst üste iki kere kullanılabilir. Örneğin /person/[@name="Ali"][3] ifadesi adı Ali olan üçüncü kişiyi verir. Eğer /person[3][@name="Ali"] yapılırsa 3. kişinin adı Ali ise sonuç tek bir kayıt döner aksi halde sonuç dönmez

Veri

XPath'de Index İle Seçim

XPAth'de bir node bir liste içindeki index'ine göre seçilebilir. Seçim tag[index] şeklinde [ ve ] kullanılarak yapılmaktadır.


/person[3]


ifadesi root içindeki 3. person elementini seçer


Veri

XPath ile Bir Elementi Attribute Değerlerine Göre Seçme

XPath'te attribute değerine göre element seçilebilir. tag[@attribute="value"] şeklinde kullanılır.


/person/car[@model]


ifadesi model attributesi olan tüm arabaları seçer.


/person/car[@model='TX']


ifadesi ise modeli TX olan arabaları seçmektedir


Veri

XPath Mantıksal Operatörler

XPath aşağıdaki mantıksal operatörleri desteklemektedir :


= : eşit
!= : eşit değil
< : küçük
<= : küçük eşir
> : büyük
>= : büyük eşit
and : ve
or : veya


Örneğin


/person[@age>18]


ifadesi , person elementinin age attributesi 18'den büyük olan person elementlerini seçer


/person[@age>18 and @name="Ali"]


ifadesi ise person elementinin age attributesi 18'den büyük olan ve adı Ali olan elementleri seçer


Veri

XPath Fonskiyonlar

XPath içinde bazı fonksiyonlar aşağıdaki gibidir :


last : Son index'i verir. Örneğin /person[last()] ifadesi son person elementini verir
position : Bir element'in bir liste içindeki konumu. Örneğin /person[position()=5] ifadesi 5. person elementini verir
count : parametre içindeki element sayılarını toplar. Örneğin count(/person/[@model='TX']) ifadesi modeli 'TX' olan elementlerin sayısını verir
contains : Bir karakterin geçip geçmemesine kontrol eder. Örneğin /person[contains(@name,"AX"] ifadesi adında A geçen person'ları verir


Örnek

Bir XML Üzerinden Yapılan XPath Örnekler

Aşağıdaki gibi bir XML olsun :
Bu XML için aşağıdaki bilgilere XPath ile erişilebilir :

<!--?xml version="1.0"--><br />
<items><br />
<philosphy><br />
<book id="13" title="The Main Principles Of Philosphy"><br />
<book id="12" title="The Traditional Turkish Philosphy"><br />
<book id="43" title="The Great Turkish Thinkers"><br />
<dictionary title="The Dictionary Of Philosphy"></dictionary></book></book></book></philosphy><br />
<br />
<psychology><br />
<book id="14" title="An Introduction To Psycho-Analysis"><br />
<book id="47" title="The Life Of Freud"></book></book></psychology><br />
<br />
<sociology><br />
<book id="54" title="The Contribution of Ibn Haldun To Sociology"><br />
<book id="44" title="The Main Characteristics of Turkic Peoples"></book></book></sociology><br />
<br />
</items>
 

/items/philosphy[2] : Philosphy'deki ikinci item
/items/*/dictionary : Bütün Sözlükler
/items/*/book[@id="12"]/@title : Id'si 12 olan kitabın title'ı
count(/items/sociology/book) : Sociology kitaplarının sayısı
/items/psychology[last()] : Son psychology kitabı
/items/*/[contains(@title,"Turk")] : İçerisinde Turk geçen bütün maddeler

 





Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir