在xpath表达式中使用mule变量值查询重复的XML节点

在xpath表达式中使用mule变量值查询重复的XML节点,xml,xpath,mule,Xml,Xpath,Mule,让我们将示例XML设置为: <test> <randomtag>abc</randomtag> <person> <name>john</name> </person> <person> <name>peter</name> </person> </test> abc 厕所 彼得

让我们将示例XML设置为:

<test>
    <randomtag>abc</randomtag>
    <person>
        <name>john</name>
    </person>
    <person>
        <name>peter</name>
    </person>
</test>

abc
厕所
彼得
目标: 我想使用Mule
ForEach
组件调用记录器以如下方式输出: 厕所 彼得

所需的Xpath如下所示:

#[xpath(//person[1]/name/text()”)
用于john

#[xpath(//person[2]/name/text()”)
用于peter

问题:如何使索引
1
2
的值动态

我试着说:
#[xpath(//person[flowVars.forEachCounterVariable]/name/text()”)
但不起作用

注意:类似但不相同:

请尝试以下操作:-

 <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>   

像字符串一样连接它


#[xpath('//person['+flowVars.forEachCounterVariable+']/name/text())]

谢谢你Anirban-感谢你的输入快速问题:为什么你使用了前端,而不是直接进入在根节点/test上使用拆分器进行“拆分”。。。这背后的原因是什么?