gpt4 book ai didi

xml - 解析Soap响应-XML/XPATH(在soapUI中)(SoapUI响应中的命名空间)

转载 作者:行者123 更新时间:2023-12-03 17:03:16 24 4
gpt4 key购买 nike

如果我有如下所示的Soap回复

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns0:SomeResponse xmlns:ns0="urn:ABC:EFG:HIJ:Some_WS">
<ns0:ID>6384</ns0: ID>
<ns0:Some_ID>10530</ns0: Some_ID >
<ns0:Status>SomeStatus</ns0:Status>
<ns0:Number>INT1037;INT1027;</ns0: Number>
</ns0:SomeResponse >
</soapenv:Body>
</soapenv:Envelope>


如何获取 Some_ID值。我在SoapUI中使用以下代码来检索 Some_ID的值。

...
def response = tstep.getPropertyValue("response");
def gutils = new com.eviware.soapui.support.GroovyUtils( context );
def holder = gutils.getXmlHolder("$response");
// define namespace
holder.namespaces["ns0"] = "http://www.w3.org/2001/XMLSchema-instance"
def val1 = holder.getNodeValue("//ns0:SomeResponse/ns0:Some_ID");
log.info(val1)


但是 log.info给了我 null值。

最佳答案

要仅检索一个特定值,可以使用以下简单方法:

def val1 = context.expand('${TestStepName#Response#//*:Some_ID}')


对于更复杂的解析,您将不得不使用 XmlHolderXmlParserXmlSlurper。您可以从 official documentation了解这些内容。

在脚本中,尝试将 tstep.getPropertyValue("Response")与大写R一起使用。

关于xml - 解析Soap响应-XML/XPATH(在soapUI中)(SoapUI响应中的命名空间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30223774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com