XQuery FLWOR 運算式


XML 實例文檔

我們將在下面的例子中繼續使用這個 "books.xml" 文檔(與上一節中的 XML 檔相同)。

在您的流覽器中查看 "books.xml" 檔


如果使用 FLWOR 從 "books.xml" 選取節點

請看下麵這個路徑運算式:

doc("books.xml")/bookstore/book[price>30]/title

上面這個運算式可選取 bookstore 元素下的 book 元素下所有的 title 元素,並且其中的 price 元素的值必須大於 30。

下麵這個 FLWOR 運算式所選取的數據和上面的路徑運算式是相同的:

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

輸出結果:

<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>

通過 FLWOR,您可以對結果進行排序:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title

FLWOR 是 "For, Let, Where, Order by, Return" 的只取首字母縮寫。

for 語句把 bookstore 元素下的所有 book 元素提取到名為 $x 的變數中。

where 語句選取了 price 元素值大於 30 的 book 元素。

order by 語句定義了排序次序。將根據 title 元素進行排序。

return 語句規定返回什麼內容。在此返回的是 title 元素。

上面的 XQuery 運算式的結果:

<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>