Mari kita belajar beberapa XQuery dasar dengan melihat contoh.
XML Contoh Dokumen
Kami akan menggunakan dokumen XML berikut dalam contoh di bawah ini.
"Books.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>
Melihat "books.xml" file dalam browser Anda .
Cara Memilih Nodes Dari "books.xml"?
fungsi
XQuery menggunakan fungsi untuk mengambil data dari dokumen XML.
The doc() adalah fungsi yang digunakan untuk membuka "books.xml" berkas:
doc("books.xml")
Ekspresi jalan
XQuery menggunakan ekspresi jalan untuk menavigasi melalui elemen dalam dokumen XML.
Ekspresi jalur berikut ini digunakan untuk memilih semua elemen judul di "books.xml" berkas:
doc("books.xml") /bookstore/book/title
(/ Toko buku memilih elemen toko buku, / buku memilih semua elemen buku di bawah elemen toko buku, dan / title memilih semua elemen judul di bawah setiap elemen buku)
XQuery di atas akan mengekstrak berikut:
<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
predikat
XQuery menggunakan predikat untuk membatasi data yang diambil dari dokumen XML.
Predikat berikut ini digunakan untuk memilih semua elemen buku di bawah elemen toko buku yang memiliki unsur harga dengan nilai yang kurang dari 30:
doc("books.xml")/bookstore/book [price<30]
XQuery di atas akan mengekstrak berikut:
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>