Я пытаюсь написать переплетение данных, чтобы добавить цену в ответ xml.Как обрабатывать отклик в mule ESB
Запрос XML выглядит
<?xml version="1.0" encoding="UTF-8"?>
<UniversityResponse xmlns="urn:abc:api:Components">
<Timestamp>2015-12-16T22:05:41.229Z</Timestamp>
<Dept>IT</Dept>
<Fees>
<Fee>
<Name>John</Name>
<Fee currencyID="USD">1.0</Fee>
</Fee>
<Fee>
<Name>Enrique</Name>
<Fee currencyID="USD">3.0</Fee>
</Fee>
<Fee>
<Name>Mary</Name>
<Fee currencyID="USD">2.0</Fee>
</Fee>
<Fee>
<Name>Meena</Name>
<Fee currencyID="USD">0.5</Fee>
</Fee>
</Fees>
</UniversityResponse>
В настоящее время я писал как
%dw 1.0
%namespace ns0 urn:abc:api:Components
%output application/xml
---
TotalFees:{
plus : payload.ns0#UniversityResponse.ns0#Fees.*ns0#Fee[0].ns0#Fee +
payload.ns0#UniversityResponse.ns0#Fees.*ns0#Fee[0].ns0#Fee +
payload.ns0#UniversityResponse.ns0#Fees.*ns0#Fee[1].ns0#Fee +
payload.ns0#UniversityResponse.ns0#Fees.*ns0#Fee[2].ns0#Fee +
payload.ns0#UniversityResponse.ns0#Fees.*ns0#Fee[3].ns0#Fee
}
Выход:
<TotalFees>
<plus>6.5</plus>
</TotalFees>
Как может я цикл сложный тег в XML-ответ?
В принципе, я хочу создать один цикл для UniversityResponse/Fees. Внутри цикла я хочу написать что-то вроде Plus = Plus + «UniversityResponse/Fees/Fee [counter] .Fee«
извинениями. Я хотел добавить все сборы под тегом «fee» и сохранить в теге «Плюс». Я уточнил свой вопрос с большим количеством объяснений. В основном я хочу создать один цикл для UniversityResponse/Fees. Внутри цикла я хочу написать что-то вроде Plus = Plus + «UniversityResponse/Fees/Fee [counter] .Fee« – Simbu
Обновлено мой ответ – JoostD
Спасибо! :) Это сработало для меня. Простая функция суммы сделала трюк без цикла. :) – Simbu