Contoh XQuery
- 上一页 Pengenalan XQuery
- 下一页 XQuery FLWOR
Dalam bab ini, kita akan belajar beberapa sintaks dasar XQuery melalui contoh.
Dokumen Contoh XML
Kami akan menggunakan dokumen XML ini dalam contoh di bawah.
"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>
Bagaimana untuk memilih node daripada "books.xml"?
Fungsi
XQuery menggunakan fungsi untuk mengambil data dari dokumen XML.
doc() digunakan untuk membuka fail "books.xml":
doc("books.xml")
Ekspresi laluan
XQuery menggunakan ekspresi laluan untuk navigasi melalui elemen dalam dokumen XML.
Ekspresi laluan di bawah ini digunakan untuk memilih semua elemen title di dalam fail "books.xml":
doc("books.xml")/bookstore/book/title
(/bookstore memilih elemen bookstore, /book memilih semua elemen book di bawah elemen bookstore, dan /title memilih semua elemen title di bawah setiap elemen book)
XQuery di atas boleh mengambil data di bawah ini:
<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>
Penyata
XQuery menggunakan penyata untuk membatasi data yang diambil dari dokumen XML.
Penyata di bawah ini digunakan untuk memilih semua elemen book di bawah elemen bookstore, dan nilai elemen price di bawah book harus kurang dari 30:
doc("books.xml")/bookstore/book[harga<30]
XQuery boleh mengambil data di bawah ini:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- 上一页 Pengenalan XQuery
- 下一页 XQuery FLWOR