Contoh XPath
- Halaman Sebelumnya Operator XPath
- Halaman Berikutnya Ringkasan XPath
Dalam bagian ini, kita akan belajar beberapa sintaksis XPath dasar melalui contoh.
Dokumen XML Instansi
Kami akan menggunakan dokumen XML berikut dalam contoh:
"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>
Memuat dokumen XML
Semua browser modern mendukung metode XMLHttpRequest untuk memuat dokumen XML.
Kode untuk sebagian besar browser modern:
var xmlhttp=new XMLHttpRequest()
Kode untuk browser Microsoft kuno (IE 5 dan 6):
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
Memilih node
Sayangnya, Internet Explorer dan beberapa penanganan XPath lainnya berbeda.
Dalam contoh kami, kode yang berlaku untuk sebagian besar browser populer.
Internet Explorer menggunakan metode selectNodes() untuk memilih node dari dokumen XML:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera serta Safari menggunakan metode evaluate() untuk memilih node dari dokumen XML:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
Memilih semua title
Contoh di bawah ini memilih semua node title:
/bookstore/book/title
Memilih title pertama book
Contoh di bawah ini memilih title node pertama di bawah element bookstore:
/bookstore/book[1]/title
Ada masalah di sini. Contoh di atas mengeluarkan hasil yang berbeda di IE dan browser lain.
Versi IE5 dan yang lebih tinggi menganggap [0] sebagai node pertama, sementara menurut standar W3C, seharusnya [1].
Untuk menyelesaikan masalah [0] dan [1] di IE5+, dapat diset pilihan bahasa untuk XPath (SelectionLanguage).
Contoh di bawah ini memilih title node pertama di bawah element bookstore:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Memilih semua harga
Contoh di bawah ini memilih semua teks dalam node price:
/bookstore/book/price/text()
Memilih node price dengan harga di atas 35
Contoh di bawah ini memilih semua node price dengan harga di atas 35:
/bookstore/book[price>35]/price
Memilih node title dengan harga di atas 35
Contoh di bawah ini memilih semua node title dengan harga di atas 35:
/bookstore/book[price>35]/title
- Halaman Sebelumnya Operator XPath
- Halaman Berikutnya Ringkasan XPath