Contoh XPath
- Halaman Sebelumnya Operator XPath
- Halaman Berikutnya Ringkasan XPath
在本节,让我们通过实例来学习一些基础的 XPath 语法。
XML实例文档
我们将在下面的例子中使用这个 XML 文档:
"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 pereka web modern mendukung metode XMLHttpRequest untuk memuat dokumen XML.
Kode untuk sebagian besar pereka web modern:
var xmlhttp=new XMLHttpRequest()
Kode untuk pereka web Microsoft kuno (IE 5 dan 6):
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
Memilih nod
Sayangnya, Internet Explorer dan yang lainnya mengelola XPath dengan cara yang berbeda.
Dalam contoh kami, kode yang sesuai untuk sebagian besar pereka web utama.
Internet Explorer menggunakan metode selectNodes() untuk memilih nod dari dokumen XML:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera serta Safari menggunakan metode evaluate() untuk memilih nod dari dokumen XML:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
Memilih title pertama book
Contoh di bawah ini memilih title nod pertama di bawah elemen bookstore:
/bookstore/book[1]/title
Ada masalah di sini. Contoh di atas mengeluarkan hasil yang berbeza di IE dan browser lain.
Versi IE5 dan yang lebih tinggi melihat [0] sebagai nod pertama, manakala menurut standar W3C, ia seharusnya adalah [1].
Untuk menyelesaikan masalah [0] dan [1] di IE5+, boleh ditetapkan pilihan bahasa pilihan (SelectionLanguage) untuk XPath.
Contoh di bawah ini memilih title nod pertama di bawah elemen bookstore:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Memilih semua harga
Contoh di bawah ini memilih semua teks dalam nod price:
/bookstore/book/price/text()
Memilih nod price dengan harga melebihi 35
Contoh di bawah ini memilih semua nod price yang harga melebihi 35:
/bookstore/book[price>35]/price
Memilih nod title dengan harga melebihi 35
Contoh di bawah ini memilih semua title nod yang harga melebihi 35:
/bookstore/book[price>35]/title
- Halaman Sebelumnya Operator XPath
- Halaman Berikutnya Ringkasan XPath