如何在dataweave中使用带有命名空间的变量?

How to use variable with namespace in dataweave?

有一个要求,我们需要在 XML 中使用动态标签名称和命名空间。我将标记名存储在一个变量中并尝试使用命名空间。

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

我期望的输出是我存储在变量中的标记名和命名空间,但实际输出只是将字符串 'tag' 附加到命名空间。有办法吗?

请试试这个

%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>