En son web geliştirme öğreticiler
 

XPath sözdizimi


XPath bir XML belgesindeki düğümleri veya düğüm-setleri seçmek için yol ifadeleri kullanır. düğümün bir yol ya da aşamaları izleyerek seçilir.


XML Örneği Belgesi

Aşağıda örneklerde aşağıdaki XML belgesi kullanacaktır.

<?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üğümleri seçme

XPath bir XML belgesindeki düğümleri seçmek için yol ifadeleri kullanır. düğümün bir yol ya da aşamaları izleyerek seçilir. En kullanışlı yol ifadeleri aşağıda listelenmiştir:

ifade Açıklama
nodename Adı "ile tüm düğümlerin seçer nodename "
/ kök düğümünden seçer
// olurlarsa olsunlar nerede seçimle eşleşecek geçerli düğümden belgedeki düğümleri seçer
. mevcut düğüm seçer
.. mevcut düğümün üst seçer
@ özelliklerini seçer

Aşağıdaki tabloda bazı yol ifadeleri ve ifadelerin sonucu listeledik:

Yol İfade Sonuç
kitapçı Adı ile bütün düğümleri seçer "bookstore"
/kitapçı Kök öğesi kitapçı seçer

Note: yolu bir bölü çizgisi ile başlıyorsa ( / ) her zaman bir öğeye bir mutlak yolunu temsil!

Kitabevi / kitap kitabevinin çocuklardır tüm kitap elemanlarını seçer
//kitap olurlarsa olsunlar belgede nerede tüm kitap elemanlarını seçer
kitapevi // kitabı onlar kitapevi elemanı altındadır kitabevi elemanı, hiçbir maddenin soyundan olan tüm kitap elemanlarını seçer
// @ lang lang adlandırılır tüm özelliklerini seçer

yüklemler

Yüklemler belirli bir düğüm veya belirli bir değeri içeren bir düğüm bulmak için kullanılır.

Yüklemler hep köşeli parantez içinde gömülürler.

Aşağıdaki tabloda biz yüklemleri ile bazı yol ifadeleri ve ifadelerin sonucu listeledik:

Yol İfade Sonuç
/ Kitabevi / Kitap [1] kitapçı elemanının çocuk ilk kitap elemanını seçer.

Note: IE 5,6,7,8,9 birinci düğüm [0], fakat W3C göre, [1] 'dır. IE Bu sorunu çözmek için, XPath için SelectionLanguage ayarlayın:

In JavaScript: xml . setProperty("SelectionLanguage","XPath") ;
/ Kitabevi / Kitap [ last() ] kitapçı elemanının çocuk son kitabı elemanını seçer
/ Kitabevi / Kitap [ last() -1] kitapçı elemanının çocuk sondan bir kitap elemanı seçer
/ Kitabevi / Kitap [ position() <3] kitapçı elemanının çocukları ilk iki kitabı elemanlarını seçer
// başlıktaki [@lang] lang adında bir niteliğe tüm başlık elemanlarını seçer
// başlıktaki [lang = 'tr' '] Bir değere sahip bir "lang" özelliği olan tüm başlık elemanlarını seçer "en"
/bookstore/book[price>35.00] değerine sahip bir fiyat öğesi kitabevi elemanının tüm kitap elemanlarını seçer den büyük 35.00
/bookstore/book[price>35.00]/title değerine sahip bir fiyat öğesi kitabevi elemanının kitap tüm unsurları başlık elemanlarını seçer den büyük 35.00

Bilinmeyen Düğümleri Seçme

XPath joker bilinmeyen bir XML düğümlerini seçmek için kullanılabilir.

joker Açıklama
* herhangi bir eleman düğümü eşleşir
@* Herhangi bir öznitelik düğümü eşleşir
node() herhangi bir herhangi bir düğüm eşleşir

Aşağıdaki tabloda bazı yol ifadeleri ve ifadelerin sonucu listeledik:

Yol İfade Sonuç
/kitapçı/* kitapçı elemanının tüm alt öğe düğümlerini seçer
// * Belgedeki tüm öğelerin seçer
//Başlık[@*] herhangi bir en az bir özellik olan tüm başlık elemanları seçer

Çeşitli Yollarını seçilmesi

kullanarak | bir XPath ifadesinde operatörü çeşitli yollar seçebilirsiniz.

Aşağıdaki tabloda bazı yol ifadeleri ve ifadelerin sonucu listeledik:

Yol İfade Sonuç
// kitap / başlık | // kitap / fiyat tüm kitap elemanların tümü başlık VE fiyat elemanlarını seçer
// başlık | //fiyat belgedeki tüm başlık VE fiyat elemanlarını seçer
/ Kitabevi / kitap / başlık | //fiyat Belgede kitapevi elemanının kitap elemanının bütün başlık elemanlarını VE her fiyat elemanlarını seçer