xquery - 如何在单行输出中获取 MarkLogic 中 XQuery 的输出?
问题描述
将详细说明 - 当我执行以下命令时:
let $value := xdmp:forest-status(
xdmp:forest-open-replica(
xdmp:database-forests(xdmp:database("Documents"))))
return $value
上面的查询返回了很多关于数据库“文档”林的信息,比如 - forest-id、host-id 等。
我只要求它应该只返回我的森林的“状态”。我怎么做?
解决方案
使用 XPath 选择要返回的内容。
let $value := xdmp:forest-status(
xdmp:forest-open-replica(
xdmp:database-forests(xdmp:database("Documents"))))
return $value/*:state/text()
此外,无需 FLWOR,您可以将其设为单线:
xdmp:forest-status(
xdmp:forest-open-replica(
xdmp:database-forests(xdmp:database("Documents"))))/*:state/text()
或者您可能会发现使用箭头运算符使事情变得更容易阅读,而不是嵌套函数调用和大量括号包裹它们:
(xdmp:database("Documents")
=> xdmp:database-forests()
=> xdmp:forest-open-replica()
=> xdmp:forest-status()
)/*:state/text()
响应中的 XML 元素位于http://marklogic.com/xdmp/status/forest
命名空间中。因此,您要么需要声明命名空间(即declare namespace f = "http://marklogic.com/xdmp/status/forest";
)并在 XPath 中使用前缀(即f:state
),要么像我一样使用通配符*:state
推荐阅读
- git - 文件未显示在 git 客户端源树中
- java - 如何让 IntelliJ 将 Java 8 用于 Maven 模块而不是语言级别 8 的 Java 11?
- vue.js - 如何更改 favicon.ico 和页面标题(Vue + Webpack)?
- erlang - ERLANG 函数,类似于 while 循环 while(true)
- r - 使用 dplyr 通过分组变量解析多个条件
- scala - sbt:如何运行集成测试
- rest - 访问 Partner Central Consent Url 与为应用程序配置的 URl 不匹配
- git - azure api manager 无法从 git 镜像复制更改
- javascript - 当我的两个输入 [type=text] 都清除或为空时,如何取消选中复选框?
- c# - 如何在 OWIN WebAPI C# 中获取 formData