我正在尝试在数据编织器中创建XML时实现默认命名空间。 我想到了数据weaver文档和早期帖子。无法得到任何线索。我们如何声明默认命名空间。
https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-tutorial
我的输入将来自数据库链接列表。输出是XML。
%dw 1.0
%namespace ns0 urn:abc:def:Components
%output application/xml
---
{
ns0#University: {
college: payload.college[0],
(payload map ((payload01 , indexOfPayload01) -> {
dept: {
deptName: payload01.dept,
Noofstudents: payload01."No of students" as :number
}
}))
}
}
当前输出
<ns0:University xmlns:ns0="urn:abc:def:Components">
<college>abc</college> <!-- this is simple tag/ It will not repeat -->
<dept> <!-- This is complex tag -->
<dept Name>IT</dept Name>
<No of students>5</No of students>
</dept>
<dept>
<dept Name>IT</dept Name>
<No of students>5</No of students>
</dept>
<dept>
<dept Name>IT</dept Name>
<No of students>5</No of students>
</dept>
</ns0:University>
预期输出
<University xmlns="urn:abc:def:Components">
<college>abc</college> <!-- this is simple tag/ It will not repeat -->
<dept> <!-- This is complex tag -->
<dept Name>IT</dept Name>
<No of students>5</No of students>
</dept>
<dept>
<dept Name>IT</dept Name>
<No of students>5</No of students>
</dept>
<dept>
<dept Name>IT</dept Name>
<No of students>5</No of students>
</dept>
<University>
答案 0 :(得分:0)
要解决上述问题,您可以将xmlns="urn:abc:def:Components"
作为属性添加到“大学”标签。请勿在此处使用名称空间逻辑,否则它将使用ns0#
名称空间创建University标记。
像大学一样@(xmlns:“ urn:abc:def:Components”)