欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

XQuery 選擇和過濾

XML實例文檔

我們將在下面的例子中繼續(xù)使用這個 "books.xml" 文檔(和上面的章節(jié)所使用的 XML 文件相同)。

在您的瀏覽器中查看 "books.xml" 文件。

選擇和過濾元素

正如在前面的章節(jié)所看到的,我們使用路徑表達式或 FLWOR 表達式來選取和過濾元素。

請看下面的 FLWOR 表達式:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
for
(可選) 向每個由 in 表達式返回的項目捆綁一個變量
let
(可選)
where
(可選) 設(shè)定一個條件
order by
(可選) 設(shè)定結(jié)果的排列順序
return
規(guī)定在結(jié)果中返回的內(nèi)容

for 語句

for 語句可將變量捆綁到由 in 表達式返回的每個項目。for 語句可產(chǎn)生迭代。在同一個 FLWOR 表達式中可存在多重 for 語句。

如需在一個 for 語句中進行指定次數(shù)地循環(huán),您可使用關(guān)鍵詞 to

for $x in (1 to 5)
return <test>{$x}</test>

結(jié)果:

<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>

關(guān)鍵詞 at 可用于計算迭代:

for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>

結(jié)果:

<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>

在 for 語句中同樣允許多個 in 表達式。請使用逗號來分割每一個 in 表達式:

for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>

結(jié)果:

<test>x=10 and y=100</test>
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test>

let 語句

let 語句可完成變量分配,并可避免多次重復(fù)相同的表達式。let 語句不會導(dǎo)致迭代。

let $x := (1 to 5)
return <test>{$x}</test>

結(jié)果:

<test>1 2 3 4 5</test>

where 語句

where 語句用于為結(jié)果設(shè)定一個或多個條件(criteria)。

where $x/price>30 and $x/price<100

order by 語句

order by 語句用于規(guī)定結(jié)果的排序次序。在這里,我們要根據(jù) category 和 title 來對結(jié)果進行排序:

for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title

結(jié)果:

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

return 語句:

return 語句規(guī)定要返回的內(nèi)容。

for $x in doc("books.xml")/bookstore/book
return $x/title

結(jié)果:

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