Pemilihan dan penapisan XQuery
Dokumen Contoh XML
Kami akan terus menggunakan dokumen "books.xml" ini dalam contoh berikut (fail XML yang sama digunakan dalam bab di atas).
Lihat fail "books.xml" dalam penyemak imbas anda.
Memilih dan menapis elemen
Seperti yang dilihat dalam bab sebelumnya, kami menggunakan ungkapan laluan atau ungkapan FLWOR untuk memilih dan menapis elemen.
Lihat ungkapan FLWOR berikut:
di mana $x/price>30
pesanan dengan $x/title
kembali $x/title
untuk - (pilihan) Gabungkan pembolehubah kepada setiap item yang dikembalikan oleh ungkapan dalam
biar - (pilihan)
di mana - (pilihan) tetapkan syarat
pesanan mengikut - (pilihan ) Tetapkan susunan keputusan
kembali - Nyatakan kandungan yang dikembalikan dalam hasil
untuk pernyataan
Penyataan untuk mengikat pembolehubah kepada setiap item yang dikembalikan oleh ungkapan dalam. Pernyataan for menghasilkan lelaran. Berbilang untuk pernyataan boleh wujud dalam ungkapan FLWOR yang sama.
Untuk menggelungkan bilangan kali tertentu dalam pernyataan untuk, anda boleh menggunakan kata kunci untuk:
mengembalikan < ;{$x}</test>
Keputusan:
<test>2</ test> ;
<test>3</test>
<test>4</test>
<test>5</test>
Kata kunci di boleh digunakan untuk mengira lelaran:
kembali <buku>{ $i}. {data($x)}</book>
Hasil:
<buku>3
Berbilang dalam ungkapan juga dibenarkan dalam pernyataan untuk. Sila gunakan koma untuk memisahkan setiap satu dalam ungkapan:
kembali <test>x={$x} dan y ={$y}</test>
< ujian>x=10 dan y=200</ujian>
<ujian>x=20 dan y=100</ujian>penyataan biarkan
penyataan biarkan boleh menyelesaikan tugasan pembolehubah dan mengelakkan pengulangan ungkapan yang sama beberapa kali. Pernyataan let tidak menyebabkan lelaran.
kembali <ujian>{$x}</test>
Keputusan:
di mana pernyataan
di mana pernyataan digunakan untuk menetapkan satu atau lebih syarat untuk keputusan ( kriteria).
pesanan mengikut penyata
perintah demi penyata digunakan untuk menentukan pesanan susunan keputusan. Di sini, kita perlu mengisih hasil mengikut kategori dan tajuk:
pesanan mengikut $x/@category , $x/title
kembali $x/title
Keputusan:
<title lang="en">Italian Setiap Hari</title>
<title lang="en">Pembelajaran XML</title>
<title lang="en"> Kick Start</title>
penyata pulangan:
penyataan pulangan menentukan kandungan yang akan dikembalikan.
kembali $x/tajuk
Hasil:
<title lang="en">Harry Potter</title>
<title lang="en"> ;