使用XPATH时出现Mule 4问题

时间:2018-12-13 08:17:49

标签: xml xpath mule dataweave mule-esb

我正在使用下面的xpath表达式来提取字符串,它不能按预期工作,有人请在这里帮助我

XPATH Exp:

XmlModule::xpath('/*:ExecuteXMLStringResponse/*:ExecuteXMLStringResult',payload.^raw,{})]"

有效载荷:

<?xml version="1.0" encoding="UTF-8"?>
<ExecuteXMLStringResponse xmlns="http://tempuri.org/">
<ExecuteXMLStringResult>
&lt;?xml version="1.0"?&gt;&lt;DCResponse&gt;&lt;Status&gt;Success&lt;/Status&gt;&lt;Authentication&gt;&lt;Status&gt;FirstTimeLogIn&lt;/Status&gt;&lt;Token&gt;646d9300-7341-41a0-9c0f-05a40c3f2b94&lt;/Token&gt;&lt;/Authentication&gt;&lt;ResponseInfo&gt;&lt;ApplicationId&gt;23429782&lt;/ApplicationId&gt;&lt;SolutionSetInstanceId&gt;b08cc093-c735-4435-b7b9-beef1c10dd23&lt;/SolutionSetInstanceId&gt;&lt;CurrentQueue&gt;&lt;/CurrentQueue&gt;&lt;/ResponseInfo&gt;&lt;ContextData&gt;&lt;Field key="RiskClass"&gt;C&lt;/Field&gt;&lt;/ContextData&gt;&lt;/DCResponse&gt;</ExecuteXMLStringResult></ExecuteXMLStringResponse>

我得到:

'¬íava.util.ArrayListx�™Ça�'

上面的arraylist必须转换为所需的格式。

预期输出:

标记内的整个字符串(如下所述)

&lt;?xml version="1.0"?&gt;&lt;DCResponse&gt;&lt;Status&gt;Success&lt;/Status&gt;&lt;Authentication&gt;&lt;Status&gt;FirstTimeLogIn&lt;/Status&gt;&lt;Token&gt;646d9300-7341-41a0-9c0f-05a40c3f2b94&lt;/Token&gt;&lt;/Authentication&gt;&lt;ResponseInfo&gt;&lt;ApplicationId&gt;23429782&lt;/ApplicationId&gt;&lt;SolutionSetInstanceId&gt;b08cc093-c735-4435-b7b9-beef1c10dd23&lt;/SolutionSetInstanceId&gt;&lt;CurrentQueue&gt;&lt;/CurrentQueue&gt;&lt;/ResponseInfo&gt;&lt;ContextData&gt;&lt;Field key="RiskClass"&gt;C&lt;/Field&gt;&lt;/ContextData&gt;&lt;/DCResponse&gt;

请帮助我找出所需的输出。

1 个答案:

答案 0 :(得分:2)

嗨,我建议直接使用dataweave而不是XPath。

%dw 2.0
output application/java 
--- 
payload.ExecuteXMLStringResponse.ExecuteXMLStringResult