&引用;“如何在Mule3 anypoint studio中对xml数据进行分组”;

&引用;“如何在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,

我正在做从json到xml的转换,然后必须按部门分组。 我正在使用mysql数据库获取员工及其部门。在最后一次会议上,我必须按部门分组

这是我在完成转换后从数据库中获取的json

[
    {
        "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失效。如果有效,请将答案标记为已接受。谢谢