我试图从我们的XML本机数据库中提取一些数据,如果一个元素的值在包含的值序列中.不要以为我说得对.例如,
给出以下XML:
<root>
<a>1</a>
<root>
Run Code Online (Sandbox Code Playgroud)
似乎应该有办法做某事(借口语法,视为伪)
where root/a in (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
从我的所有搜索中,这似乎是不可能的.充其量,我得到了:
where root/a = 1 or root/1 = 2 or root/a = 3 etc
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
你可以简单地使用=运算符:
where root/a = (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
=适用于类似于包含的设定值,这正是您所需要的.对比度=与eq这需要用于比较原子值.
以下是一个完整的例子.
XML:
<root>
<parent>
<a>1</a>
</parent>
<parent>
<a>4</a>
</parent>
<parent>
<a>10</a>
</parent>
</root>
Run Code Online (Sandbox Code Playgroud)
XQuery:
for $p in /root/parent
where $p/a = (1,2,3,4)
return $p
Run Code Online (Sandbox Code Playgroud)
输出:
<parent>
<a>1</a>
</parent>
<parent>
<a>4</a>
</parent>
Run Code Online (Sandbox Code Playgroud)
演示: xpathtester
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |