我有一个XML需要获取元素出现的次数
<lines>
<line>
<accountings>
<accounting>
<account>
<seg1>value1</seg2>
</account>
</accounting>
<accounting>
<account>
<seg1>value2</seg2>
</account>
</accounting>
</accountings>
</line>
<line>
<accountings>
<accounting>
<account>
<seg1>value3</seg2>
</account>
</accounting>
</accountings>
</line>
<line>
<account>
<seg1>value4</seg1>
</account>
</line>
</lines>
Run Code Online (Sandbox Code Playgroud)
在上述xml中,共有4个<account>元素
我需要将输出设为4,但是每当我尝试for-each或for-each-group并依靠每个迭代进行计数时,我得到的值为1111,至少需要一种方法来添加所有计数。
我有以下输入数据,我试图将连续的日期时间分组在一起,并按小时递增。使用版本:Dataweave 2.3、Mule 4.3
Input data.
["2020-03-03T06:00:00", "2020-03-03T07:00:00", "2020-03-03T08:00:00",
"2020-03-03T09:00:00", "2020-03-03T13:00:00", "2020-03-03T14:00:00",
"2020-03-03T15:00:00", "2020-03-04T06:00:00", "2020-03-04T07:00:00",
"2020-03-04T08:00:00", "2020-03-04T09:00:00"]
Run Code Online (Sandbox Code Playgroud)
业务逻辑:从上面的输入来看,一些数据是按小时连续的。索引 (0,1,2,3) 和 (4,5,6) 和 (7,8,9,10) 按小时分组。目的是将这些连续日期合并在一起并创建如下对象集,其中 fromDate 是组中的最低日期,toDate 是组中的最高日期。希望我清楚要求。
Expected Output.
[{"fromDate" : "2020-03-03T06:00:00", "toDate" : "2020-03-03T09:00:00" },
{"fromDate" : "2020-03-03T13:00:00", "toDate" : "2020-03-03T15:00:00" },
{"fromDate" : "2020-03-04T06:00:00", "toDate" : "2020-03-04T09:00:00" }]
Run Code Online (Sandbox Code Playgroud)
我尝试过map、groupby、reduce,但无法解决这个问题。请帮忙。