使用xmlSlurper在groovy中使用变量提取元素的属性值

使用xmlSlurper在groovy中使用变量提取元素的属性值,groovy,xml-parsing,soapui,xmlslurper,Groovy,Xml Parsing,Soapui,Xmlslurper,我正在使用SoapUI测试Web服务。以下字符串(xml格式)是我的请求: <Request> <AC> <AssetID>1</AssetID> <Asset_Name>ABC</Asset_Name> <Asset_Number>1</Asset_Number> </AC> <AC> <AssetID&

我正在使用SoapUI测试Web服务。以下字符串(xml格式)是我的请求:

<Request>
   <AC>
      <AssetID>1</AssetID>
      <Asset_Name>ABC</Asset_Name>
      <Asset_Number>1</Asset_Number>
   </AC>
   <AC>
      <AssetID>2</AssetID>
      <Asset_Name>XYZ</Asset_Name>
      <Asset_Number>2</Asset_Number>
   </Ac>
</Request>
我尝试过另一篇文章中提到的解决方案,但它不符合我的目的

还有其他想法吗

您可以使用

x."$requestName".each

为什么是斯劳珀?在SoapUI中,可以使用XmlHolder

import com.eviware.soapui.support.XmlHolder

def responseHolder = new XmlHolder(messageExchange.getResponseContentAsXml())

def resultFromResponse = responseHolder["here_is_your_xpath"]
assert someExpectedResult == resultFromResponse
如果需要通过多个xml节点进行迭代

resultFromResponse.each 
{
    assert result == resultFromResponse     
}

您能发布失败的代码吗?我似乎有点不清楚。@tim_yates我已将失败的代码添加到我的问题中。我尝试使用“$requestName”如下:
x.“$requestName”。每个{“$requestName”->assetNum=“$requestName”。“Asset_Number”}
但它向我显示了另一个错误,如下所示:
org.codehaus.groovy.control.multiplecompiletonErrorsException:启动失败:Script212.groovy:31:在第31行第18列中,应为'}',找到'->'。“$requestName”->^org.codehaus.groovy.syntax.SyntaxException:应为“}”,在第31行第18列找到“->”。
x."$requestName".each
import com.eviware.soapui.support.XmlHolder

def responseHolder = new XmlHolder(messageExchange.getResponseContentAsXml())

def resultFromResponse = responseHolder["here_is_your_xpath"]
assert someExpectedResult == resultFromResponse
resultFromResponse.each 
{
    assert result == resultFromResponse     
}