在 DB2 Express-C 中使用特定属性在 XML 节点内进行文本搜索

发布于 2024-11-26 10:14:00 字数 577 浏览 6 评论 0原文

已在 Win7 上安装了 DB2 express-C 9.7,并且正在使用 DB2 文本搜索引擎。

我有一个要求,即在具有特定属性的所有 XML 节点中进行搜索。已尝试过这些选项:

statement.executeQuery("xquery " + "for $i in db2-fn:sqlquery(\"从订单中选择文档 WHERE CONTAINS(doc, '@xpath:''/order//@key[. contains (\"\"java\"\")]' '') = 1\")/订单 " + "返回 $i/客户");

语句.executeQuery("xquery " + "for $i in db2-fn:sqlquery(\"从订单中选择文档 WHERE CONTAINS(doc, '@xpath:''/order//@key[.. contains (\"\"java\"\")] ''') = 1\")/订单 " + "返回 $i/客户");

这里我尝试搜索所有那些在具有属性“key”的子元素(“order”节点)内具有“java”的所有 xml 文档,但没有成功。

有人可以告诉我正确的查询应该是什么吗?

谢谢。

Have installed DB2 express-C 9.7 on Win7, and am using the DB2 Text Search engine.

I have one requirement to search inside all XML nodes having a specific attribute. Have tried these options:

statement.executeQuery("xquery " +
"for $i in db2-fn:sqlquery(\"SELECT doc FROM orders WHERE CONTAINS(doc, '@xpath:''/order//@key[. contains (\"\"java\"\")]''') = 1\")/order " + "return $i/customer");

statement.executeQuery("xquery " +
"for $i in db2-fn:sqlquery(\"SELECT doc FROM orders WHERE CONTAINS(doc, '@xpath:''/order//@key[.. contains (\"\"java\"\")]''') = 1\")/order " + "return $i/customer");

Here am unsuccessfully trying to search for all those xml documents which have 'java' inside all child elements (of 'order' node) having an attribute 'key'.

May anyone please tell me what should be the right query for this.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文