You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MarkLogic指定Forest(ABC)中查询所有文档名称

获取MarkLogic指定Forest的所有文档名称并格式化输出

嘿,要搞定MarkLogic里Forest ABC的文档名称列表并输出你要的格式,用XQuery就能轻松实现,下面是具体的实现方法:

核心思路

利用MarkLogic内置的xdmp:forest-documents()函数定位目标Forest的所有文档,提取每个文档的URI(也就是你要的文档名称),再拼接成要求的字符串格式。

XQuery实现代码

(: 1. 获取目标Forest ABC的ID :)
let $forest-id := xdmp:forest("ABC")
(: 2. 提取该Forest下所有文档的URI :)
let $doc-uris := fn:document-uri(xdmp:forest-documents($forest-id))
(: 3. 拼接成指定格式的字符串 :)
let $output := concat("Forest ABC has ", string-join($doc-uris, " "), " and so on...")
(: 4. 输出结果 :)
return $output

代码解释

  • xdmp:forest("ABC"):通过Forest名称获取对应的唯一ID,因为xdmp:forest-documents()需要传入Forest ID作为参数。
  • xdmp:forest-documents($forest-id):返回该Forest下存储的所有文档节点。
  • fn:document-uri():从每个文档节点中提取文档的URI(即文档名称)。
  • string-join($doc-uris, " "):把所有文档URI用空格连接成一个字符串。
  • concat(...):把开头的固定文本、文档列表和结尾的"and so on..."拼接成最终输出格式。

输出示例

如果Forest ABC里有文档A.xml、B.xml、C.xml,运行代码后会输出:

Forest ABC has A.xml B.xml C.xml and so on...

如果文档数量较多,这个格式也能完美适配,直接把所有文档URI按空格分隔后拼接即可。

内容的提问来源于stack exchange,提问作者G Irala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:27:22