千家信息网

XQuery选择和过滤

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,解释 XQuery 最佳方式是这样讲:XQuery 相对于 XML 的关系,等同于 SQL 相对于数据库表的关系。XQuery 被设计用来查询 XML 数据 - 不仅仅限于 XML 文件,还包括任何可
千家信息网最后更新 2026年11月01日XQuery选择和过滤
解释 XQuery 最佳方式是这样讲:XQuery 相对于 XML 的关系,等同于 SQL 相对于数据库表的关系。XQuery 被设计用来查询 XML 数据 - 不仅仅限于 XML 文件,还包括任何可以 XML 形态呈现的数据,包括数据库。

选择和过滤元素

正如在前面的章节所看到的,我们使用路径表达式或 FLWOR 表达式来选取和过滤元素。
请看下面的 FLWOR 表达式:

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

• for - (可选) 向每个由 in 表达式返回的项目捆绑一个变量
• let - (可选)
• where - (可选) 设定一个条件
• order by - (可选) 设定结果的排列顺序
• return - 规定在结果中返回的内容

for 语句

for 语句可将变量捆绑到由 in 表达式返回的每个项目。for 语句可产生迭代。在同一个 FLWOR 表达式中可存在多重 for 语句。
如需在一个 for 语句中进行指定次数地循环,您可使用关键词 to :

for $x in (1 to 5) return {$x}

结果:

1 2 3 4 5

关键词 at 可用于计算迭代:

for $x at $i in doc("books.xml")/bookstore/book/title return {$i}. {data($x)}

结果:

1. Everyday Italian 2. Harry Potter 3. XQuery Kick Start 4. Learning XML

在 for 语句中同样允许多个 in 表达式。请使用逗号来分割每一个 in 表达式:

for $x in (10,20), $y in (100,200) return x={$x} and y={$y}

结果:

x=10 and y=100 x=10 and y=200 x=20 and y=100 x=20 and y=200

let 语句

let 语句可完成变量分配,并可避免多次重复相同的表达式。let 语句不会导致迭代。

let $x := (1 to 5) return {$x}

结果:

1 2 3 4 5

where 语句

where 语句用于为结果设定一个或多个条件(criteria)。

where $x/price>30 and $x/price<100

order by 语句

order by 语句用于规定结果的排序次序。在这里,我们要根据 category 和 title 来对结果进行排序:

for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title

结果:

Harry Potter Everyday Italian Learning XML XQuery Kick Start

return 语句:

return 语句规定要返回的内容。

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

结果:

Everyday Italian Harry Potter XQuery Kick Start Learning XML

原文来自: https://www.linuxprobe.com/xquery-selection-filtering.html

语句 结果 表达式 数据 变量 迭代 元素 关键 关键词 内容 多个 数据库 条件 项目 排序 选择 相同 不仅仅 原文 形态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技的 有马互联网科技 凡科互联网科技 壕鑫互联网络科技 易通互联网络科技有限公司 友谊互联网络科技 长亮科技互联网金融 国外互联网科技网站 须眉科技是互联网公司吗 互联网教育科技公司vipkid 崇明区互联网教育科技诚信经营 开一家科技互联网公司需要多少钱 佛山市翊博互联网络科技有限公司 国大互联网教育科技有限公司薪资 广州百诚互联网科技有限公司官网 互联网科技职业技能培训学校 科技和互联网行业的特点 广西泛欧互联网科技有限公司 恒生科技指数 中概互联网 青岛易易互联网科技 互联网科技公司经营范围 高科技互联网 科技与互联网 汇久创客互联网科技 易通互联网络科技有限公司 互联网金融科技委员会 须眉科技是互联网公司吗 互联网为啥属于高科技 厦门江牛科技互联网 互联网科技包装股份有限公司上市
0