&引用;“如何在Mule3 anypoint studio中对xml数据进行分组”;
我正在做从json到xml的转换,然后必须按部门分组。 我正在使用mysql数据库获取员工及其部门。在最后一次会议上,我必须按部门分组 这是我在完成转换后从数据库中获取的json&引用;“如何在Mule3 anypoint studio中对xml数据进行分组”;,mule,mule-studio,anypoint-studio,mulesoft,Mule,Mule Studio,Anypoint Studio,Mulesoft,我正在做从json到xml的转换,然后必须按部门分组。 我正在使用mysql数据库获取员工及其部门。在最后一次会议上,我必须按部门分组 这是我在完成转换后从数据库中获取的json [ { "id": 1, "Full Name": "Devendra", "Department": { "DepartmentName": "IT" } }, { "id": 2,
[
{
"id": 1,
"Full Name": "Devendra",
"Department": {
"DepartmentName": "IT"
}
},
{
"id": 2,
"Full Name": "Rohit",
"Department": {
"DepartmentName": "IT"
}
}
]
然后,我进行json到xml的转换,得到下面的结果
<?xml version="1.0" encoding="windows-1252"?>
<employees>
<employee>
<id>1</id>
<FullName>Devendra</FullName>
<Department>
<DepartmentName>IT</DepartmentName>
</Department>
</employee>
<employee>
<id>2</id>
<FullName>Rohit</FullName>
<Department>
<DepartmentName>IT</DepartmentName>
</Department>
</employee>
</employees>
1.
德文德拉
信息技术
2.
罗希特
信息技术
预期结果:
我需要按部门动态显示结果组,如下所示-
<?xml version="1.0" encoding="windows-1252"?>
<Departments>
<Department>
<DepartmentName>IT</DepartmentName>
<employee>
<id>1</id>
<FullName>Devendra</FullName>
</employee>
<employee>
<id>2</id>
<FullName>Rohit</FullName>
</employee>
</Department>
</Departments>
信息技术
1.
德文德拉
2.
罗希特
如何进行此转换?json2xml:
%dw 1.0
%output application/xml
---
Departments: payload groupBy $.Department.DepartmentName mapObject {
Department:
{DepartmentName: $$} ++
{($ map {
employee: {
id: $.id,
FullName: $.'Full Name'
}
})
}
}
xml2xml:
%dw 1.0
%output application/xml
---
Departments: payload.employees groupBy $.Department.DepartmentName mapObject {
Department:
{DepartmentName: $$} ++
{($ map {
employee: {
id: $.id,
FullName: $.FullName
}
})
}
}
I'm get error无法将a:null强制为a:stringI来自json,而不是第二个xml。我用的是“全名”而不是“全名”。是的,json到xml正在工作。我使用相同的方法将xml转换为xml,并将“全名”转换为“全名”。那不行吗?我更新了答案。此外,问题中的第二个xml在第二个员工中没有DepartmentName,这会导致dataweave失效。如果有效,请将答案标记为已接受。谢谢