首页 > 解决方案 > 如何在dataweave中使用带有命名空间的变量?

问题描述

我们需要在 XML 中使用动态标签名称以及命名空间。我将标记名存储在变量中并尝试与命名空间一起使用。

%dw 1.0
%output application/XML encoding= "UTF-8"
%namespace opt vision.soap.ogc
%var tag = flowVars.tag
---
{
    opt#tag : 'something'
}

我期望的输出是我与命名空间一起存储在变量中的标记名,但是实际输出只是将字符串“标记”附加到命名空间。有没有办法做到这一点?

标签: xml-namespacesdataweavemulesoftanypoint-studio

解决方案


请试试这个

%dw 1.0
%output application/XML encoding= "UTF-8"
%namespace opt vision.soap.ogc
%var tag = "a"
---
{
    opt#"$(tag)" : 'something'
}

输出

<?xml version='1.0' encoding='UTF-8'?>
<opt:a xmlns:opt="vision.soap.ogc">something</opt:a>

推荐阅读