Xpath 使用apachecamel循环
我期望在一个请求中执行多个操作。我需要循环xml以使用ApacheCamel路由执行以下操作。 1) 获取请求xml中的总操作数并放入变量。 2) 在xml上使用xpath获取表达式总数并放入列表 3) 循环(操作总数)次以计算表达式 第一步是list nodeList=/tractscation/operationsXpath 使用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
<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>