在xpath表达式中使用mule变量值查询重复的XML节点
让我们将示例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 厕所 彼得
<test>
<randomtag>abc</randomtag>
<person>
<name>john</name>
</person>
<person>
<name>peter</name>
</person>
</test>
abc
厕所
彼得
目标:
我想使用MuleForEach
组件调用记录器以如下方式输出:
厕所
彼得
所需的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上使用拆分器进行“拆分”。。。这背后的原因是什么?