Sitemap
Manoj Prabhakar Thakare

Manoj Prabhakar Thakare

"Integration Specialist consultant with 4+ yrs in MuleSoft, skilled in Anypoint, DataWeave & CloudHub. Expertise in API design, integrations & best practices.

Mastering DataWeave in MuleSoft: 100+ Practice Questions (Part 6)

2 min readApr 19, 2026

--

Welcome back to the DataWeave Mastery Series. So this Part 6 is dedicated fully to XML Questions & Answers, because XML is heavily used in SOAP APIs, SAP, legacy systems, banking, insurance, healthcare, enterprise integrations.

📘 XML Questions 41–50

Question 41 — Convert XML Employee to JSON

Input

<employee>
<id>101</id>
<name>Manoj</name>
</employee>

Expected Output

{
"id": "101",
"name": "Manoj"
}

DataWeave Logic

%dw 2.0
output application/json
---
{
id: payload.employee.id,
name: payload.employee.name
}

Question 42 — Read Multiple Employees from XML

Input

<employees>
<employee>
<id>101</id>
<name>Manoj</name>
</employee>
<employee>
<id>102</id>
<name>Rahul</name>
</employee>
</employees>

Expected Output

[
{ "id":"101", "name":"Manoj"},
{ "id":"102", "name":"Rahul"}
]

DataWeave Logic

%dw 2.0
output application/json
---
payload.employees.*employee map {
id: $.id,
name: $.name
}

Question 43 — Add New Node in XML

Input

<employee>
<id>101</id>
<name>Manoj</name>
</employee>

Expected Output

<employee>
<id>101</id>
<name>Manoj</name>
<city>Pune</city>
</employee>

DataWeave Logic

%dw 2.0
output application/xml
---
employee: {
id: payload.employee.id,
name: payload.employee.name,
city: "Pune"
}

Question 44 — Filter Active Users from XML

Input

<users>
<user><name>A</name><status>ACTIVE</status></user>
<user><name>B</name><status>INACTIVE</status></user>
</users>

Expected Output

[
{"name":"A"}
]

DataWeave Logic

%dw 2.0
output application/json
---
payload.users.*user
filter($.status == "ACTIVE")
map {
name: $.name
}

Question 45 — Convert XML Orders and Calculate Total

Input

<orders>
<order><amount>500</amount></order>
<order><amount>300</amount></order>
</orders>

Expected Output

{
"total": 800
}

DataWeave Logic

%dw 2.0
output application/json
---
{
total:
sum(payload.orders.*order.amount map ($ as Number))
}

Question 46 — Read XML Attributes

Input

<employee id="101" dept="IT">
<name>Manoj</name>
</employee>

Expected Output

{
"id":"101",
"dept":"IT",
"name":"Manoj"
}

DataWeave Logic

%dw 2.0
output application/json
---
{
id: payload.employee.@id,
dept: payload.employee.@dept,
name: payload.employee.name
}

Question 47 — Group XML Records by Department

Input

<employees>
<employee><name>A</name><dept>IT</dept></employee>
<employee><name>B</name><dept>HR</dept></employee>
<employee><name>C</name><dept>IT</dept></employee>
</employees>

Expected Output

{
"IT":["A","C"],
"HR":["B"]
}

DataWeave Logic

%dw 2.0
output application/json
---
payload.employees.*employee
groupBy $.dept
mapObject ((value,key) ->
{(key): value.name}
)

Question 48 — Convert JSON to XML

Input

{
"id":101,
"name":"Manoj"
}

Expected Output

<employee>
<id>101</id>
<name>Manoj</name>
</employee>

DataWeave Logic

%dw 2.0
output application/xml
---
employee: payload

Question 49 — Remove Empty XML Nodes

Input

<employee>
<id>101</id>
<name></name>
<city>Pune</city>
</employee>

Expected Output

{
"id":"101",
"city":"Pune"
}

DataWeave Logic

%dw 2.0
output application/json
---
payload.employee filterObject (($ != null))

Question 50— Real-time SOAP XML Response Transformation

Input

<soapResponse>
<status>SUCCESS</status>
<customer>
<id>5001</id>
<name>Manoj</name>
</customer>
</soapResponse>

Expected Output

{
"code":200,
"customerId":"5001",
"customerName":"Manoj"
}

DataWeave Logic

%dw 2.0
output application/json
---
{
code: if(payload.soapResponse.status == "SUCCESS") 200 else 500,
customerId: payload.soapResponse.customer.id,
customerName: payload.soapResponse.customer.name
}

🙌 Stay Connected

More advanced parts coming soon:

Get Manoj Prabhakar Thakare’s stories in your inbox

Join Medium for free to get updates from this writer.

If this helped you, feel free to connect with me on LinkedIn — I’d love to learn about your MuleSoft journey and share knowledge together.

Stay tuned for the next parts!

🔥 Happy Integrating!

--

--

Manoj Prabhakar Thakare
Manoj Prabhakar Thakare

Written by Manoj Prabhakar Thakare

"Integration Specialist consultant with 4+ yrs in MuleSoft, skilled in Anypoint, DataWeave & CloudHub. Expertise in API design, integrations & best practices.