XPath Örnekleri
Bazı örneklere bakarak bazı temel XPath sözdizimini öğrenmeye çalışalım.
XML Örnek Belgesi
Aşağıdaki örneklerde aşağıdaki XML belgesini kullanacağız.
"kitaplar.xml":
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Tarayıcınızda "books.xml" dosyasını görüntüleyin .
XML Belgesini Yükleme
XML belgelerini yüklemek için bir XMLHttpRequest nesnesinin kullanılması, tüm modern tarayıcılarda desteklenir.
var xmlhttp = new XMLHttpRequest();
Daha eski tarayıcılar (IE5 ve IE6) için kod, AJAX eğitiminde bulunabilir.
Düğümleri Seçme
Ne yazık ki, farklı tarayıcılarda XPath ile başa çıkmanın farklı yolları vardır.
Chrome, Firefox, Edge, Opera ve Safari, düğümleri seçmek için değerlendirme() yöntemini kullanır:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Internet Explorer, düğümü seçmek için selectNodes() yöntemini kullanır:
xmlDoc.selectNodes(xpath);
Örneklerimize, çoğu büyük tarayıcıyla çalışması gereken kodu ekledik.
Tüm başlıkları seç
Aşağıdaki örnek, tüm başlık düğümlerini seçer:
Örnek
/bookstore/book/title
İlk kitabın adını seçin
Aşağıdaki örnek, kitapçı öğesinin altındaki ilk kitap düğümünün başlığını seçer:
Örnek
/bookstore/book[1]/title
Tüm fiyatları seçin
Aşağıdaki örnek, tüm fiyat düğümlerinden metni seçer:
Örnek
/bookstore/book/price[text()]
Fiyat>35 olan fiyat düğümlerini seçin
Aşağıdaki örnek, fiyatı 35'ten yüksek olan tüm fiyat düğümlerini seçer:
Örnek
/bookstore/book[price>35]/price
Fiyat>35 olan başlık düğümlerini seçin
Aşağıdaki örnek, fiyatı 35'ten yüksek olan tüm başlık düğümlerini seçer:
Örnek
/bookstore/book[price>35]/title