【发布时间】:2015-08-06 15:24:44
【问题描述】:
我有以下来自转换器的 xml 响应:-
<?xml version="1.0" encoding="UTF-8"?>
<detailList>
<details>
<Id>ID123</Id>
<personInfo>
<address>
<address>All the address</address>
<city>CITY</city>
<state>STATE</state>
<postalCode>123123</postalCode>
<country>UNITED STATES</country>
</address>
</personInfo>
<nameF>NAME1</nameF>
<nameL>NAME2</nameL>
</details>
</detailList>
我想获取 details 节点(包括它的所有子节点)。 我使用了以下 xpath 表达式来得到这个,但它们都在打印空格:-
<logger level="INFO" message="#[xpath://detailList]" />
<logger level="INFO" message="#[xpath:/detailList]" />
<logger level="INFO" message="#[xpath:/detailList/*]" />
<logger level="INFO" message="#[xpath://detailList/details]" />
<logger level="INFO" message="#[xpath:/detailList/details]" />
打印出来的响应是(LoggerMessageProcessor 后面的空格):-
INFO TimeStamp org.mule.api.processor.LoggerMessageProcessor:
一切看起来都很好,但我很困惑为什么它无法通过这些 xpath 评估器定位节点/元素。
【问题讨论】:
-
试试
//details,可能是根元素的问题 -
我已经试过了,结果是空字符串。
-
您使用的是哪个版本的 Mule?该语法已被弃用。尝试使用 MEL xpath() 函数甚至更好的 xpath3() developer.mulesoft.com/docs/display/current/…