XQuery 存在方法

Posted

技术标签:

【中文标题】XQuery 存在方法【英文标题】:XQuery exist method 【发布时间】:2012-08-13 06:51:18 【问题描述】:

如何检查 XQuery 存在方法中的多个值?我在 SQL 语句中运行这个XQuery

Select [column1] [xmlcolumn] from tablet
where [xmlcolumn].exist('/node/subnode/subsubnode[.="value1"]') = 1

我希望能够指定多个值like [.="value1" OR "value2" OR ...]

任何指针表示赞赏。

【问题讨论】:

【参考方案1】:

使用

exists(/node/subnode/subsubnode[. eq "value1" or . eq "value2"])

XPath 区分大小写,要使用的运算符是"or" -- 不是"OR"

如果你的值比较多,用起来比较实用

exists(/node/subnode/subsubnode
              [. = ("value1","value2","value3","value4","value5")])

【讨论】:

如何对路径的值做类似的操作? @Sam,您可以在特定位置步骤:*,或*[starts-with(name(), 'xyz')]*[ends-with(name(),'abc')]*[contains(name(), 'pqr')],或者最常见的是*[matches(name(), $someRegEx)]

以上是关于XQuery 存在方法的主要内容,如果未能解决你的问题,请参考以下文章

XQuery sql 仅在存在时选择节点

sql 使用XQuery方法修改更新XML

XQuery 中是不是有任何方法可以获取自某个 Epoch 以来的当前时间(以毫秒为单位)?

了解小程序开发库xquery

XQuery 更新:插入或替换取决于节点是不是存在不可能?

Python下的XQuery库[关闭]