Latest web development tutorials

Contoh XPath

Pada bagian ini, mari kita belajar dengan contoh untuk beberapa sintaks XPath dasar.


dokumen XML misalnya

Kami akan menggunakan dokumen XML ini dalam contoh berikut:

"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>

Lihat "books.xml" file di browser Anda .


Masukkan dokumen XML

Semua browser modern mendukung penggunaan XMLHttpRequest untuk memuat dokumen XML.

Untuk sebagian besar kode browser modern:

var xmlhttp=new XMLHttpRequest()

Untuk browser Microsoft tua (IE 5 dan 6) dari Kode:

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")


Pilih simpul

Sayangnya, Internet Explorer dan cara yang berbeda lain dari penanganan XPath.

Dalam contoh kita, itu berisi untuk sebagian kode browser utama.

Internet Explorer menggunakan selectNodes () metode dari dokumen XML untuk memilih node:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera dan Safari menggunakan metode evaluasi () untuk memilih node dari dokumen XML:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);


Pilih semua judul

Contoh berikut pilih semua node judul:

contoh

/bookstore/book/title

Coba »


Pilih judul pertama buku

Contoh berikut pilih elemen toko buku di bawah judul buku simpul pertama:

contoh

/bookstore/book[1]/title

Coba »

Ada masalah. Contoh di atas dari hasil yang berbeda di IE dan browser lainnya.

IE5 dan kemudian [0] dianggap sebagai simpul pertama, dan sesuai dengan standar W3C harus [1].

Salah satu solusi!

Dalam rangka memecahkan IE5 + [0] dan [1] dari masalah, Anda dapat menetapkan pilihan bahasa untuk XPath (SelectionLanguage).

Contoh berikut pilih elemen toko buku di bawah judul buku simpul pertama:

contoh

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

Coba »


Pilih semua harga

Contoh berikut pilih semua teks harga simpul:

contoh

/bookstore/book/price/text()

Coba »


Pilih harga lebih tinggi dari node harga 35

Contoh berikut pilih semua harga yang lebih tinggi dari harga 35 node:

contoh

/bookstore/book[price>35]/price

Coba »


Pilih harga simpul lebih tinggi dari 35 judul

Contoh berikut pilih semua harga judul node lebih tinggi dari 35:

contoh

/bookstore/book[price>35]/title

Coba »