FLWOR(发音为"flower")是"For, Let, Where, Order by, Return" 的缩写。
我们将在下面的示例中使用 "books.xml" 文档(与上一章中相同的 XML 文件)。
看下面的路径表达式:
doc("books.xml")/bookstore/book[price>30]/title
上面的表达式将选择 book 元素下的所有 title 元素,这些元素位于 bookstore 元素下,并且价格元素的值大于 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
这个for子句将 bookstore 元素下的所有 book 元素选择到名为 $x 的变量中。
这个where子句仅选择价格元素值大于 30 的图书元素。
这个order by子句定义排序顺序。将按标题元素排序。
这个return子句指定应该返回什么。这里它返回标题元素。
上面 XQuery 表达式的结果将是:
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!