我需要使用groovy脚本从下面的xml文件中获取值3。 我正在从SOAPUI进行测试
<ParamId>3</ParamId>
任何人都可以分享我的语法来获取价值吗? 我尝试了以下代码。但我想我需要迭代到第三个Param ..
def msgTxt = response.getDomNode("//ns2:ParamId").getLastChild().getNodeValue()
<RequestParams>
<Param>
<ParamId>1</ParamId>
<ParamName>Name1</ParamName>
<ParamType>String</ParamType>
<ParamValue>value1</ParamValue>
</Param>
<Param>
<ParamId>2</ParamId>
<ParamName>Name2</ParamName>
<ParamType>String</ParamType>
<ParamValue>value2</ParamValue>
</Param>
<Param>
<ParamId>3</ParamId>
<ParamName>Name3</ParamName>
<ParamType>String</ParamType>
<ParamValue>2</ParamValue>
</Param>
</RequestParams>
答案 0 :(得分:3)
如果您使用的是groovy脚本,那么这将有效。
parse.groovy
import org.apache.maven.artifact.ant.shaded.xml.XmlStreamReader
/**
* @author maba, 2012-08-24
*/
def root = new XmlSlurper().parse(new XmlStreamReader(new File('path/to/data', 'data.xml')))
def msgText = root.Param[2].ParamId.text()
我认为你可以这样做,而不是从文件中读取:
def root = new XmlSlurper().parseText(response.xmlText())
但我不确定response
的类型是什么。我假设XmlBeans
来自XmlHolder
。
这适用于SoapUI def root = new XmlSlurper().parseText(response.getXml())
:
{{1}}
答案 1 :(得分:2)
查看Groovy documentation page中的XmlParser或XmlSlurper示例