У меня есть преобразование в передаче данных.Проблема преобразования DataWeave в esb mule
Я получаю входные данные из базы данных Mysql. Тип входной полезной нагрузки - List-Map. Мой текстовый редактор имеет код ниже.
%dw 1.0
%namespace ns1 urn:abc:api:Components
%output application/xml
---
ns1#"ItemRequest":{
ns1#"Requester":
ns1#ac: payload.time_max,
ns1#"ErrorLanguage": "en_US",
ns1#"WarningLevel": "High"
}
Мой выход
<?xml version='1.0' encoding='UTF-8'?>
<ns1:ItemRequest xmlns:ns1="urn:abc:api:Components">
<ns1:Requester>
<ns1:ac>
<time_max>1</time_max>
</ns1:ac>
</ns1:Requester>
<ns1:ErrorLanguage>en_US</ns1:ErrorLanguage>
<ns1:WarningLevel>High</ns1:WarningLevel>
</ns1:AddItemRequest>
Я не знаю, почему я получаю «элемент в моем выходе с„тег, созданный under'ac time_max“. «Time_max» - это имя столбца в таблице MySQL. Но я не хочу добавлять столбец в выходной XML. Как мы можем избежать создания этого тэга?
Ожидаемый выход
<?xml version='1.0' encoding='UTF-8'?>
<ns1:ItemRequest xmlns:ns1="urn:abc:api:Components">
<ns1:Requester>
<ns1:ac>1</ns1:ac>
</ns1:Requester>
<ns1:ErrorLanguage>en_US</ns1:ErrorLanguage>
<ns1:WarningLevel>High</ns1:WarningLevel>
</ns1:AddItemRequest>
Похоже, ваша проблема заключалась в том, что ввод был списком карт, который мы часто получаем как вывод из коннектора базы данных. Ваш оригинальный DWL записывается в предположении, что вход представляет собой карту. Возможно, добавить схему ввода в вопрос для будущих читателей? –