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

如何在XQuery中获取含子元素标签的XML元素字符串值(MarkLogic)

在MarkLogic中用XQuery保留子元素标签获取XML元素内容

要保留XML元素的子元素标签并以字符串形式返回,不能使用xs:string()(它只会提取纯文本内容),可以使用MarkLogic内置的xdmp:quote()函数,它能将节点序列化为包含标签的字符串。

示例实现

假设你有如下XML元素:

<text_element>
   This <p>is</p> random <b> text </b>
</text_element>

对应的XQuery代码:

let $text_element := /text_element
return xdmp:quote($text_element/node())

执行后会返回你需要的结果:
This &lt;p&gt;is&lt;/p&gt; random &lt;b&gt; text &lt;/b&gt;

补充说明

  • $text_element/node()用于获取目标元素下的所有子节点(包括文本节点和子元素节点),避免把<text_element>本身的标签也包含进去。
  • 如果需要自定义序列化规则(比如缩进、字符编码、是否保留注释等),可以给xdmp:quote()传递第二个参数,传入序列化选项,例如:
    xdmp:quote($text_element/node(), map:entry("indent", "yes"))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:42:05