Xpath 使用apachecamel循环

Xpath 使用apachecamel循环,xpath,xml-parsing,apache-camel,Xpath,Xml Parsing,Apache Camel,我期望在一个请求中执行多个操作。我需要循环xml以使用ApacheCamel路由执行以下操作。 1) 获取请求xml中的总操作数并放入变量。 2) 在xml上使用xpath获取表达式总数并放入列表 3) 循环(操作总数)次以计算表达式 第一步是list nodeList=/tractscation/operations <loop> <constant>nodeLIst.length</xpath> compare and execute operation

我期望在一个请求中执行多个操作。我需要循环xml以使用ApacheCamel路由执行以下操作。 1) 获取请求xml中的总操作数并放入变量。 2) 在xml上使用xpath获取表达式总数并放入列表 3) 循环(操作总数)次以计算表达式

第一步是list nodeList=/tractscation/operations

<loop>
<constant>nodeLIst.length</xpath>
compare and execute operation
</loop>

节点长度
比较并执行操作
以上几行只是psuedo代码,我希望任何人都能帮助我使用camelxpath和loop实现精确的代码


我不熟悉xpath和camel。我们正在使用xpath spring DSL

如果您希望遍历匹配xpath的每个节点并单独处理它,那么使用EIP

我希望这对你有帮助

内线

    <to uri="direct:WSCall" />

    <split strategyRef="groupExchangeAggregationStrategy">
          <xpath>//response/operation</xpath>
    </split>

//响应/操作
速度模板

<tag>
   #foreach( $exchangeItem in ${body} )
      ${exchangeItem.in.body}
   #end
</tag>

#foreach(${body}中的exchangeItem)
${exchangeItem.in.body}
#结束
包括

<beans>
  <bean id="groupExchangeAggregationStrategy" class="org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy" />
</beans>


非常感谢。我需要处理每个节点并将它们路由到不同的处理器。类似于动态路由的方法是处理节点类型,并相应地将每个节点路由到不同的目的地。你能告诉我我可以写什么样的小型体系结构来实现无缝集成吗?我使用xpath来遍历bean。现在我想结合这两个bean的响应,似乎我必须使用聚合器。anybdy plz能在这方面提供帮助吗。我建议阅读关于EIPs骆驼支持的内容:
<tag>
   #foreach( $exchangeItem in ${body} )
      ${exchangeItem.in.body}
   #end
</tag>
<beans>
  <bean id="groupExchangeAggregationStrategy" class="org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy" />
</beans>