xml - XQuery:何时使用 data() 函数?

标签 xml xquery

我无法理解何时应该使用 data() 函数。 例子: $path/@name 还是 $path/data(@name)? 有时,当我不放置 data() 时,我得到一个错误,我只能添加它来修复。

最佳答案

一般来说,data()当您想要提取存储在 XML 中并由模式定义的值的原子类型时,应该使用它。例如,假设您有一个将此元素定义为 xs:dateTime 的模式:

<my-time>2016-01-28T10:30:45.954716-06:00</my-time>

调用 data()<my-time>将返回 xs:dateTime类型值。

然而,大多数时候,data()只会表现得像 string() .我怀疑在您的代码中有时您期望一个字符串但返回一个属性或节点。有时,由于类型强制而“有效”;其他时候,它会抛出异常。这当然取决于您的代码。

密切注意代码中的节点类型和原子值,应该更清楚为什么会出现这些错误。如果你想要的是一个字符串,那么使用 string()而不是 data() .

关于xml - XQuery:何时使用 data() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35066704/

相关文章:

javascript - Javascript 中带有前导零的数字

xml - 扩展 XSD 文件

java - 如何从一组 XPath 表达式生成 XML 文件?

xml - 在 XML 中,原子节点与叶节点是一回事吗?

xml - 如何使用 xquery 从 xml 文件中读取 namespace

xml - 将 sqlplus 结果假脱机到 xml 文件时不需要的新行

c# - 将 & 添加到 XmlElement

java - 属性响应的规范强制值

xml - 如何使用 ConvertTo-Xml 和 Select-Xml 加载或读取 XML 文件?

xquery - 检测最后一个分组后元组