首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用WHERE查询获取整个XQuery文档

如何使用WHERE查询获取整个XQuery文档
EN

Stack Overflow用户
提问于 2012-08-10 19:14:43
回答 2查看 586关注 0票数 0

我的XML db只有一个集合(容器),但我不知道文档名称。如何从符合WHERE子句的数据库中获取整个XML文档?

代码语言:javascript
复制
<root>
      <node1>
            <node2>
                   <node3>My Content</node2>
            </node2>
      </node1>
<root>

当我有疑问时

代码语言:javascript
复制
query 'collection("data1.dbxml")/root/node1/node2[node3 = "My Content"]/string()'

它从该node3返回一个内容

代码语言:javascript
复制
'My Content'

代码语言:javascript
复制
query 'collection("data1.dbxml")/root/ode1/node2/node3'

它返回包含内容的2个内部节点

代码语言:javascript
复制
<node2><node3>My Content</node3></node2>

但是如何获得符合WHERE子句的整个文档(比如SELECT * FROM data2.dbxml WHERE node3='My Content'?

EN

回答 2

Stack Overflow用户

发布于 2012-08-12 20:34:40

只需像在第一个示例中那样使用谓词:

代码语言:javascript
复制
  collection("data1.dbxml")/root[node1/node2/node3 = "My Content"]

您可以将XQuery中的谓词看作是SQL中的WHERE,而SELECT部分就是之前的一切。

票数 1
EN

Stack Overflow用户

发布于 2012-09-25 21:28:13

另一个决议..。学习后:)

代码语言:javascript
复制
query 'for $x in collection("data1.dbxml") 
       where $x/root/node1/node2/node3 = "My Content"
       return $x'

或者当我们知道XMLdoc中节点的深度和节点的名称时

代码语言:javascript
复制
query 'for $x in collection("data1.dbxml") 
       where $x/*/*/*/node3 = "My Content"
       return $x'

谢谢W3Schools

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11900512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档