Pemilihan dan Penyaringan XQuery
- Halaman Sebelumnya Tambahkan XQuery
- Halaman Berikutnya Fungsi XQuery
Dokumen Contoh XML
Kami akan terus menggunakan dokumen "books.xml" di contoh di bawah ini (yang sama seperti file XML yang digunakan di bab di atas).
Memilih dan menyaring elemen
Seperti yang dilihat di bab sebelumnya, kita menggunakan ekspresi jalur atau ekspresi FLWOR untuk memilih dan menyaring elemen.
Lihat ekspresi FLWOR di bawah ini:
for $x in doc("books.xml")/bookstore/book di mana $x/price>30 diurutkan $x/title return $x/title
- for
- (opsional) Ikatan variabel ke setiap item yang diproduksi oleh ekspresi in
- let
- (opsional)
- di mana
- (opsional) Tetapkan syarat
- diurutkan
- (opsional) Tetapkan urutan hasil
- kembalikan
- Menentukan konten yang kembali di dalam hasil
pernyataan for
Pernyataan for dapat menahan variabel ke setiap item yang diproduksi oleh ekspresi in. Pernyataan for dapat menghasilkan iterasi. Dalam ekspresi FLWOR yang sama dapat ada beberapa pernyataan for.
Untuk melakukan pengulangan berikutnya sebanyak jumlah yang ditentukan dalam pernyataan for, Anda dapat menggunakanKata kunci ke :
untuk $x dalam (1 ke 5) return <test>{$x}</test>
Hasil:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
Kata kunci at Dapat digunakan untuk menghitung iterasi:
untuk $x pada $i dalam doc("books.xml")/bookstore/book/title kembalikan <book>{$i}. {data($x)}</book>
Hasil:
<book>1. Everyday Italian</book> <book>2. Harry Potter</book> <book>3. XQuery Kick Start</book> <book>4. Learning XML</book>
Di dalam pernyataan for jugaMemungkinkan banyak ekspresi inSila gunakan koma untuk memisahkan setiap ekspresi in:
untuk $x dalam (10,20), $y dalam (100,200) kembalikan <test>x={$x} dan y={$y}</test>
Hasil:
<test>x=10 dan y=100</test> <test>x=10 dan y=200</test> <test>x=20 dan y=100</test> <test>x=20 dan y=200</test>
let 语句
Perintah let dapat melaksanakan penugasan variabel dan menghindari penulisan ulang ekspresi yang sama berulang-ulang. Perintah let tidak akan mengakibatkan iterasi.
let $x := (1 to 5) return <test>{$x}</test>
Hasil:
<test>1 2 3 4 5</test>
Perintah where
Perintah where digunakan untuk menentukan satu atau lebih kondisi (criteria) untuk hasil.
where $x/price>30 and $x/price<100
Perintah order by
Perintah order by digunakan untuk menentukan urutan pengurutan hasil. Disini, kita akan mengurutkan hasil berdasarkan category dan title:
for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title
Hasil:
<title lang="en">Harry Potter</title> <title lang="en">Everyday Italian</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
Perintah return:
Perintah return menentukan kandungan yang akan dikembalikan.
for $x in doc("books.xml")/bookstore/book return $x/title
Hasil:
<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>
- Halaman Sebelumnya Tambahkan XQuery
- Halaman Berikutnya Fungsi XQuery