问题内容: 下面的查询试图选择给定节点的子节点。如何使用变量而不是对子节点进行硬编码,以便可以将它们作为参数传递给SProc? 问题答案:
问题内容: 当搜索复杂的JSON数组和哈希中的项目时,例如: 我可以使用某种查询语言来查找商品吗? 问题答案: 是的,它称为JSONPath。源码现在在GitHub上。 它还集成到DOJO中。
如果希望将逗号分隔值(CSV)文本的文件解析为xml结构,或者有一个具有非常相似的行/字段结构的平面文件,希望将其转换为XML格式。 这里将使用函数将输入文件分成不同的行。 然后将使用函数将每一行解析为单独的字段。 请注意,将删除前导和尾随空格。 基本例子 输出结果 - 第1行中的数据字典示例 第二个示例将使用CSV文件的第一行作为每行每列的元素名称的数据字典。 输出结果如下 -
序列中的每个数据项目可能彼此非常相似,或者它们可能是不同的类型。 我们从一些简单的序列示例开始。看一下最常见的序列运算符。 XQuery使用单词作为有序容器容器的通用名称。 了解序列在XQuery中的工作方式对于理解语言的工作原理至关重要。 通用项目序列的使用是函数式编程的核心,与其他编程语言(如Java或JavaScript)形成鲜明对比,后者提供了多种方法和函数来处理键值对,字典,数组和XML
假设有一系列项目,并且需要创建包含这些数据项目的报告。 我们将使用基本的XQuery FLWOR表达式来迭代序列中的每个数据项目。 FLWOR表达式的五个部分是: for - 指定要选择的序列中的项目(可选) let - 用于创建返回中使用的临时名称(可选) where - 限制项目返回(可选) order - 更改结果的顺序(可选) return - 指定返回数据的结构(必需) 假设有一个样本文
这个示例用于运行测试XQuery程序执行环境是否正常工作。 执行上面示例代码,得到以下结果 - 该程序创建一个名为的临时变量,并为其分配一个字符串值。 输出是一个XML元素,包含一个包含变量值的消息元素。 也可以使用序列化选项来定义序列化和输出媒体类型,从而使XQuery返回纯文本。 例如,要将消息作为文本输出,请将序列化指定为文本,将指定为。
XQuery提供编写自定义函数的功能。 下面列出了创建自定义函数的准则。 使用关键字来定义函数。 使用当前XML架构中定义的数据类型 将函数体包含在花括号内。 使用XML命名空间前缀函数的名称。 创建自定义函数时使用以下语法。 语法 示例 以下示例显示如何在XQuery中创建用户定义的函数。 XQuery表达式 输出结果 - 验证结果 要测试上述函数,用上面的XQuery表达式替换books.xq
以下是XQuery提供的常用正则表达式函数列表。 序号 名称 描述 1 matches($input, $regex) 如果输入与提供的正则表达式匹配,则返回。 2 replace($input, $regex, $string) 用给定的字符串替换匹配的输入字符串。 3 tokenize($input, $regex) 返回与正则表达式匹配的数据项序列。
下表列出了XQuery提供的常用日期函数。 序号 函数 描述 1 current-date() 返回当前日期。 2 current-time() 返回当前时间。 3 current-dateTime() 返回当前日期和当前时间。
下表列出了XQuery提供的常用字符串操作函数。 函数 描述 string-length($string as xs:string) as xs:integer 返回字符串的长度。 concat($input as xs:anyAtomicType?) as xs:string 返回连接的字符串。 string-join($sequence as xs:string*, $delimiter as
下表列出了XQuery提供的常用序列函数,它们如下所示 - 序号 名称 描述 1 count($seq as item()*) 计算序列中的项目数量。 2 sum($seq as item()*) 返回序列中数据项的总和。 3 avg($seq as item()*) 返回序列中数据项的平均值。 4 min($seq as item()*) 返回序列中数据项的最小值。 5 max($seq as
序列表示项目的有序集合,序列中的项目可以是相似或不同类型的。 创建序列 使用带括号内的字符串或双引号和数字的括号创建序列。 XML元素也可以用作序列的数据项目。 XQuery表达式 执行示例代码,得到以下结果 - 查看序列的项目 序列中的数据项目可以使用索引或值逐个迭代。 上面的例子逐个迭代序列的数据项目。 让我们看看其他两种方式。 1. XQuery表达式(索引) 执行示例代码,得到以下结果 -
XQuery兼容XPath,它使用XPath表达式来限制XML集合上的搜索结果。 有关如何使用XPath的更多详细信息,请参阅我们的XPath教程。 回想一下我们在上面几小节中用来获取书籍列表的以下XPath表达式。 XPath示例 我们将使用books.xml文件并在这个文件上应用XQuery。文件:books.xml 的内容如下所示 - 在这里给出了三个版本的XQuery语句,它们实现了显示价
XQuery还可以用于将XML文档转换为HTML页面。 看一下下面的例子,了解XQuery是如何做到的。 示例 这个示例中将使用与前面几节中相同的books.xml文件。 以下示例使用books.xml 中的XQuery提取数据并创建一个HTML表,其中包含所有书籍的标题以及价格。 文件:books.xml 的内容如下所示 - 下面给出了要在上面的XML文档上执行的Xquery表达式。文件:boo
是首字母缩略词,代表 - “For,Let,Where,Order by,Return”首字母缩略写。 以下列表显示了它们在表达式中所占的含义 - F - - 选择所有节点的集合。 L - - 将结果放在XQuery变量中。 W - - 选择条件指定的节点。 O - - 按照条件对指定的节点进行排序。 R - - 返回最终结果。 示例 以下是一个示例XML文档,其中包含有关书籍的信息。 我们将使用