XQuery 教程
1. XQuery 教程 2. XQuery 简介 3. XQuery 实例 4. XQuery FLWOR 表达式 5. XQuery FLWOR + HTML 6. XQuery 术语 7. XQuery 语法 8. XQuery 添加元素和属性 9. XQuery 选择和过滤 10. XQuery 函数 11. XQuery 总结 12. XQuery 参考手册

XQuery FLWOR 表达式

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>