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 |