如何在DataWeave中使用带命名空间的变量作为动态XML标签名
DataWeave 1.0 带命名空间动态XML标签实现方案
你之前的写法中opt#tag的tag会被识别为固定字面量,不会读取你定义的tag变量值,可通过动态键语法实现需求,正确代码如下:
%dw 1.0 %output application/XML encoding="UTF-8" %namespace opt vision.soap.ogc %var tag = flowVars.tag --- { (opt#(tag)) : 'something' }
语法说明
- 包裹键的外层圆括号
()是DataWeave的动态键标识,代表该键名由内部表达式计算生成 opt#(tag)里的括号用于声明tag是变量引用,会读取变量的实际值作为标签名,而非直接使用"tag"作为固定标签
如果flowVars.tag的值为requestId,最终输出的XML为:
<opt:requestId xmlns:opt="vision.soap.ogc">something</opt:requestId>
内容的提问来源于stack exchange,提问作者Srvastav4
相关产品推荐
相关产品推荐

