#xml-namespaces #dataweave #mulesoft #anypoint-studio
Вопрос:
Существует требование, при котором нам необходимо использовать динамические имена тегов в XML вместе с пространством имен. Я сохраняю имя tagname в переменной и пытаюсь использовать его с пространством имен.
%dw 1.0
%output application/XML encoding= "UTF-8"
%namespace opt vision.soap.ogc
%var tag = flowVars.tag
---
{
opt#tag : 'something'
}
Вывод, который я ожидаю, будет именем tagname, которое я сохранил в переменной вместе с пространством имен, однако фактический вывод просто добавляет строку «тег» с пространством имен. Есть ли способ это сделать?
Ответ №1:
Пожалуйста, попробуйте это
%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>
Комментарии:
1. Огромное спасибо. Какое-то время боролся за тишину.