我的XML db只有一个集合(容器),但我不知道文档名称。如何从符合WHERE子句的数据库中获取整个XML文档?
<root>
<node1>
<node2>
<node3>My Content</node2>
</node2>
</node1>
<root>当我有疑问时
query 'collection("data1.dbxml")/root/node1/node2[node3 = "My Content"]/string()'它从该node3返回一个内容
'My Content'和
query 'collection("data1.dbxml")/root/ode1/node2/node3'它返回包含内容的2个内部节点
<node2><node3>My Content</node3></node2>但是如何获得符合WHERE子句的整个文档(比如SELECT * FROM data2.dbxml WHERE node3='My Content'?
发布于 2012-08-12 20:34:40
只需像在第一个示例中那样使用谓词:
collection("data1.dbxml")/root[node1/node2/node3 = "My Content"]您可以将XQuery中的谓词看作是SQL中的WHERE,而SELECT部分就是之前的一切。
发布于 2012-09-25 21:28:13
另一个决议..。学习后:)
query 'for $x in collection("data1.dbxml")
where $x/root/node1/node2/node3 = "My Content"
return $x'或者当我们知道XMLdoc中节点的深度和节点的名称时
query 'for $x in collection("data1.dbxml")
where $x/*/*/*/node3 = "My Content"
return $x'谢谢W3Schools
https://stackoverflow.com/questions/11900512
复制相似问题