【问题标题】:How to process response in mule ESB如何在 mule ESB 中处理响应
【发布时间】:2015-12-18 05:15:54
【问题描述】:

我正在尝试编写数据编织以在响应 xml 中添加价格。

请求 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"

【问题讨论】:

    标签: mule-studio mule-component mel dataweave


    【解决方案1】:

    这有点让人头疼,因为我在文档中寻找 SUM 函数,而不是在文档中,而是在语言中 :)

    --

    %dw 1.0
    %output application/xml
    %namespace ns0 urn:abc:api:Components
    ---
    
    TotalFees: plus: sum payload.ns0#UniversityResponse.ns0#Fees.*ns0#Fee.ns0#Fee
    

    <?xml version='1.0' encoding='UTF-8'?>
    <TotalFees>
      <plus>6.5</plus>
    </TotalFees>
    

    【讨论】:

    • 道歉。我想在“费用”标签下添加所有费用并保留在“加号”标签中。我已经用更多解释更新了我的问题。基本上我想为 UniversityResponse/Fees 创建一个循环。在循环内我想写一些像 Plus = Plus + "UniversityResponse/Fees/Fee[counter].Fee"
    • 谢谢! :) 它对我有用。简单的 sum 函数在没有循环的情况下完成了技巧。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多