Db2 在mule中的有效负载内迭代

Db2 在mule中的有效负载内迭代,db2,mule,iteration,payload,Db2,Mule,Iteration,Payload,我正在从数据库中检索一些行。例如,在检索之后,我有两行作为有效负载。我想在这些行中进行迭代。检索到的两行如下所示: [{PAYLOAD_MSG=PU, SENSITIVEDATAINDICATOR=Y, ERRORMESSAGE=User generated exception test, INTERFACEID=I0826, EXCEPTIONID=73, PAYLOADMSGID=I0826MessTesting0002, SEVERITY=2, INTERFACENAME=replay,

我正在从数据库中检索一些行。例如,在检索之后,我有两行作为有效负载。我想在这些行中进行迭代。检索到的两行如下所示:

[{PAYLOAD_MSG=PU, SENSITIVEDATAINDICATOR=Y, ERRORMESSAGE=User generated exception test, 
INTERFACEID=I0826, EXCEPTIONID=73, PAYLOADMSGID=I0826MessTesting0002, SEVERITY=2, INTERFACENAME=replay, 
SOURCEPROTOCOL=MQ, CREATIONTIME=2016-03-01 08:29:36.211319, EVENTSOURCE=MQ_Input.transaction.Rollback}, 
{PAYLOAD_MSG=UvdjI, SENSITIVEDATAINDICATOR=N, ERRORMESSAGE=User generated exception test, INTERFACEID=I0826,
EXCEPTIONID=72, PAYLOADMSGID=I0826MessTesting0001, SEVERITY=2, INTERFACENAME=replay, SOURCEPROTOCOL=MQ, 
CREATIONTIME=2016-03-01 08:29:36.211319, EVENTSOURCE=MQ_Input.transaction.Rollback}]
我想访问第一行和第二行的Payload_Msg。具体如何做到这一点?我试过以下方法


[payload[0]。payload_Msg],#[payload.payload_Msg]。但他们没有工作。有人可以帮助克服这个问题。您可以使用ForEach循环来迭代和访问对象

  <foreach collection="payload">
             <logger message="#[payload.PAYLOAD_MSG]"/>
         </foreach>


您可以使用Foreach组件,但首先将其设置为流变量,这样您仍然可以在Foreach组件中访问它。另一种处理方法是使用集合拆分器组件

希望这有帮助。

您可以在数据库连接器之后使用收集拆分器逐个处理每个记录。然后您可以在记录器中使用
#[payload.payload\u Msg]
来检索值