让我们将示例XML设置为:
<test>
<randomtag>abc</randomtag>
<person>
<name>john</name>
</person>
<person>
<name>peter</name>
</person>
</test>
目标:
我想使用Mule ForEach
组件调用记录器输出,如下所示:
约翰
彼得
所需的Xpath如下:
约翰 #[xpath("//person[1]/name/text()")]
#[xpath("//person[2]/name/text()")]
问题:如何制作索引的值1
&amp; 2
动态?
我正在尝试这样的事情:
#[xpath("//person[flowVars.forEachCounterVariable]/name/text()")]
但没有效果。
答案 0 :(得分:1)
请尝试以下方法: -
<splitter evaluator="xpath" expression="/test" doc:name="Splitter_For_MultipleSameNodes"/>
<mulexml:dom-to-xml-transformer doc:name="DOM to XML"/>
<foreach collection="#[xpath('//test')]" doc:name="For Each">
<logger message="ID:- #[xpath('person/name/text()')] " level="INFO" doc:name="Logger"/>
</foreach>
答案 1 :(得分:0)
将它连接成一个字符串......
<强>#[的xpath( '//人[' + flowVars.forEachCounterVariable + '] /名称/文本()')] 强>