我正在使用下面的xpath表达式来提取字符串,它不能按预期工作,有人请在这里帮助我
XPATH Exp:
XmlModule::xpath('/*:ExecuteXMLStringResponse/*:ExecuteXMLStringResult',payload.^raw,{})]"
有效载荷:
<?xml version="1.0" encoding="UTF-8"?>
<ExecuteXMLStringResponse xmlns="http://tempuri.org/">
<ExecuteXMLStringResult>
<?xml version="1.0"?><DCResponse><Status>Success</Status><Authentication><Status>FirstTimeLogIn</Status><Token>646d9300-7341-41a0-9c0f-05a40c3f2b94</Token></Authentication><ResponseInfo><ApplicationId>23429782</ApplicationId><SolutionSetInstanceId>b08cc093-c735-4435-b7b9-beef1c10dd23</SolutionSetInstanceId><CurrentQueue></CurrentQueue></ResponseInfo><ContextData><Field key="RiskClass">C</Field></ContextData></DCResponse></ExecuteXMLStringResult></ExecuteXMLStringResponse>
我得到:
'¬íava.util.ArrayListx�™Ça�'
上面的arraylist必须转换为所需的格式。
预期输出:
标记内的整个字符串(如下所述)
<?xml version="1.0"?><DCResponse><Status>Success</Status><Authentication><Status>FirstTimeLogIn</Status><Token>646d9300-7341-41a0-9c0f-05a40c3f2b94</Token></Authentication><ResponseInfo><ApplicationId>23429782</ApplicationId><SolutionSetInstanceId>b08cc093-c735-4435-b7b9-beef1c10dd23</SolutionSetInstanceId><CurrentQueue></CurrentQueue></ResponseInfo><ContextData><Field key="RiskClass">C</Field></ContextData></DCResponse>
请帮助我找出所需的输出。
答案 0 :(得分:2)
嗨,我建议直接使用dataweave而不是XPath。
%dw 2.0
output application/java
---
payload.ExecuteXMLStringResponse.ExecuteXMLStringResult