ESB 骡子 - Data Weaver 转换
ESB mule - Data Weaver transformation
我是 mule esb 的新手。我正在尝试从 mySQL 获取值并转换为 XML。然后点击服务,然后结果将存储回 DB table。我有两个问题
1) 我可以在 ESB mule 中看到两种不同的映射方式。
a) 使用 "Data Mapper"
b) 使用 "Transform Message" - 这将使用数据编织器。
哪种转换方法适合我的要求。
2) 我尝试使用 "Transform Message" 和 Data Weaver 进行转换。
我从 DB 中输入的内容将获取三行,如下所示。
college = abc college = abc college = abc
dept = IT dept = CSE dept = MECH
No of students = 5 No of students = 4 No of students = 7
预期输出为
<University>
<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>
我尝试了如下所示的数据编织器。
%dw 1.0
%output application/xml
"University":{
"college": payload.college,
dept: {
dept_Name: payload."dept_Name",
No of students: payload."No of students"
}
}
但是上面的dw没有给出预期的结果。你能帮我解决这个问题吗?
您可以试试这个DataWeave,并根据需要进行修改。希望对您有所帮助。
%dw 1.0
%output application/xml
---
{
University: {
college: payload.college[0],
(payload map ((payload01 , indexOfPayload01) -> {
dept: {
deptName: payload01.dept,
Noofstudents: payload01."No of students" as :number
}
}))
}
}
我是 mule esb 的新手。我正在尝试从 mySQL 获取值并转换为 XML。然后点击服务,然后结果将存储回 DB table。我有两个问题
1) 我可以在 ESB mule 中看到两种不同的映射方式。 a) 使用 "Data Mapper" b) 使用 "Transform Message" - 这将使用数据编织器。 哪种转换方法适合我的要求。
2) 我尝试使用 "Transform Message" 和 Data Weaver 进行转换。 我从 DB 中输入的内容将获取三行,如下所示。
college = abc college = abc college = abc
dept = IT dept = CSE dept = MECH
No of students = 5 No of students = 4 No of students = 7
预期输出为
<University>
<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>
我尝试了如下所示的数据编织器。
%dw 1.0
%output application/xml
"University":{
"college": payload.college,
dept: {
dept_Name: payload."dept_Name",
No of students: payload."No of students"
}
}
但是上面的dw没有给出预期的结果。你能帮我解决这个问题吗?
您可以试试这个DataWeave,并根据需要进行修改。希望对您有所帮助。
%dw 1.0
%output application/xml
---
{
University: {
college: payload.college[0],
(payload map ((payload01 , indexOfPayload01) -> {
dept: {
deptName: payload01.dept,
Noofstudents: payload01."No of students" as :number
}
}))
}
}