XQuery FLWOR 表達式
XML 實例文檔
我們將在下面的例子中繼續使用這個"books.xml" 文檔(與上一節中的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
where $x/price>30
return $x/title
輸出結果:
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</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
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>
<title lang="en">XQuery Kick Start</title>