xml > 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>
参考手册

W3c0.com 提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。W3c0 简体中文版的所有内容仅供测试,对任何法律问题及风险不承担任何责任。 当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利。 鲁ICP备15022115号