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

在ESQL中通过动态标签从XML提取对应值的实现问题

ESQL动态提取XML标签值解决方案

现有XML结构

<family>
   <child_one>ROY</child_one>
   <child_two>VIC</child_two>
</family>

原有写法问题

直接将变量放在(XML.Element)后时,ESQL会将dynamicTag识别为固定标签名,而非读取变量的实际值作为标签名,因此无法匹配到对应节点。

正确实现代码

ESQL提供了大括号包裹变量的动态引用语法,调整后写法如下:

-- 拼接动态标签名
SET dynamicTag = 'child_' || num;
-- 动态匹配节点并取值,注意路径要和XML实际层级对应
SET value = InputRoot.XMLNSC.family.(XML.Element){dynamicTag};

效果验证

  • 当num取值为one时,value返回结果为ROY
  • 当num取值为two时,value返回结果为VIC

内容的提问来源于stack exchange,提问作者S.Mohanty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:39:00