[英]How do I get output for a XQuery in MarkLogic in a one line output?
将详细说明 - 当我执行以下命令时:
let $value := xdmp:forest-status(
xdmp:forest-open-replica(
xdmp:database-forests(xdmp:database("Documents"))))
return $value
上面的查询返回了很多关于数据库“文档”林的信息,比如 - forest-id、host-id 等。
我只要求它应该只返回我的森林的“状态”。 我怎么做?
使用 XPath 到 select 你想返回什么。
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()
或者您可能会发现使用箭头运算符使事情更容易阅读,而不是嵌套的 function 调用和大量括号包裹它们:
(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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.