本节中的主题介绍数据取值函数并提供相应的示例代码。
了解 fn:data()、fn:string() 和 text()
XQuery 有一个从节点提取类型化标量值的函数 fn:data()、一个返回文本节点的节点测试 text(),以及返回节点字符串值的函数 fn:string()。 它们的用法容易混淆。 以下是在 SQL Server 中正确使用它们的准则。 使用 XML 实例 <age>12</age> 进行说明。
非类型化的 XML:路径表达式 /age/text() 返回文本节点“12”。 函数 fn:data(/age) 返回字符串值“12”,fn:string(/age) 也是如此。
类型化的 XML:对于任何简单的类型化的 <age> 元素,表达式 /age/text() 都返回静态错误。 另一方面,fn:data(/age) 返回整数 12。 fn:string(/age) 产生字符串“12”。