XPath Örneği
- Önceki Sayfa XPath Operatörleri
- Sonraki Sayfa XSLT Tanıtımı
Bu bölümden, temel XPath gramerlerini örneklerle öğrenelim.
XML Örnek Belgesi
Aşağıdaki örneklerde bu XML belgesini kullanacağız:
"books.xml" :
<?xml version="1.0" encoding="ISO-8859-1"?> <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>
XML belgesi yükleme
Tüm modern tarayıcılar XML belgelerini yüklemek için XMLHttpRequest kullanmayı destekler.
Çoğu modern tarayıcı için kod:
var xmlhttp=new XMLHttpRequest()
Eski Microsoft tarayıcılar (IE 5 ve 6) için kod:
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
Düğüm seçin
Ne yazık ki, Internet Explorer ve diğer XPath işleyenler farklı şekilde davranır.
Örneklerimizde çoğu popüler tarayıcıya uygun kodlar içerir.
Internet Explorer selectNodes() yöntemini kullanarak XML belgesinden düğüm seçer:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera ve Safari evaluate() yöntemini kullanarak XML belgesinden düğüm seçer:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Tüm title'leri seçin
Aşağıdaki örnekte tüm title düğümeleri seçilir:
/bookstore/book/title
İlk book'un title'sini seçin
Aşağıdaki örnekte bookstore elementinin altındaki ilk book düğümünün title'si seçilir:
/bookstore/book[1]/title
Burada bir sorun var. Yukarıdaki örnek IE ve diğer tarayıcılar arasında farklı sonuçlar verir.
IE5 ve daha yüksek sürümler [0]'yu ilk düğüm olarak görürken, W3C standartlarına göre [1] olmalıdır.
IE5+ de [0] ve [1] sorununu çözmek için XPath'e dil seçimi (SelectionLanguage) yapılabilir.
Aşağıdaki örnekte bookstore elementinin altındaki ilk book düğümünün title'si seçilir:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Tüm fiyatları seçin
Aşağıdaki örnekte price düğümündeki tüm metinler seçilir:
/bookstore/book/price/text()
35'den yüksek fiyatlı price düğümünü seçin
Aşağıdaki örnekte, 35'den yüksek fiyatlı tüm price düğümleri seçilir:
/bookstore/book[price>35]/price
35'den yüksek fiyatlı title düğümleri seçme
Aşağıdaki örnekte, 35'den yüksek fiyatlı tüm title düğümleri seçilir:
/bookstore/book[price>35]/title
- Önceki Sayfa XPath Operatörleri
- Sonraki Sayfa XSLT Tanıtımı