【发布时间】:2018-12-13 08:17:48
【问题描述】:
我正在使用下面的 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>
请帮我找出所需的输出。
【问题讨论】:
-
我刚刚edited your question,改进了它的格式,或者its quality,以帮助人们理解您的问题,并帮助您获得适当的答案。但是您仍然需要添加更多信息才能让您的问题得到解决。
-
谢谢...我已经编辑和更新回来.....
-
我认为元素名称中没有前缀(命名空间),因此您可以将其更新为:
'//ExecuteXMLStringResponse/ExecuteXMLStringResult'并首先使用双/。如果没有再次运行,则检查默认命名空间声明。 -
谢谢阿玛伦德拉。在使用给定的解决方案 '¬í ava.util.ArrayListx �Ò ™ Ça �' 后,我将字符串作为数组列表的一种形式............如何转换此数组列表到所需的值....
-
为什么不直接
output application/java --- payload.ExecuteXMLStringResponse. ExecuteXMLStringResult
标签: xml xpath mule dataweave mule-esb