soap响应的Groovy变换向量
我正在使用groovey和soapUI迈出第一步: 我的问题是如何将一个向量从soap响应转换为一个列表,然后断言vecorts元素的值 回答是这样的soap响应的Groovy变换向量,soap,vector,groovy,Soap,Vector,Groovy,我正在使用groovey和soapUI迈出第一步: 我的问题是如何将一个向量从soap响应转换为一个列表,然后断言vecorts元素的值 回答是这样的 <![CDATA[<Vector> <Object> <pk>1</pk> <valueA>B</valueA> <valueB>20132</valueB> </Object> <Objec
<![CDATA[<Vector>
<Object>
<pk>1</pk>
<valueA>B</valueA>
<valueB>20132</valueB>
</Object>
<Object>
<pk>2</pk>
<valueA>C</valueA>
<valueB>666</valueB>
</Object>
</Vector>]]>
注意:我将在循环中为每个条目执行此操作,但我只是想说明我想要将响应向量与本地值进行比较,您也可以使用Groovy的XmlParser来处理响应数据 首先,只需解析xml 要获取响应项,请使用以下方法:
groovy> def xml = '''<Vector>
groovy> <Object>
groovy> <pk>1</pk>
groovy> <valueA>B</valueA>
groovy> <valueB>20132</valueB>
groovy> </Object>
groovy> <Object>
groovy> <pk>2</pk>
groovy> <valueA>C</valueA>
groovy> <valueB>666</valueB>
groovy> </Object>
groovy> </Vector>'''
groovy> def records = new XmlParser().parseText(xml)
groovy> println records.Object.pk[0].text() //return from <pk>1</pk>
groovy> println records.Object.pk[1].text() //return from <pk>2</pk>
groovy> println records.Object.valueB[0].text() //return from <valueB>20132</valueB>
groovy> println records.Object.valueB[1].text() //return from <valueB>666</valueB>
groovy> println records.Object.valueA[0].text() //return from <valueA>B</valueA>
groovy> println records.Object.valueA[1].text() //return from <valueA>C</valueA>
Output:
1
2
20132
666
B
C
groovy>defxml=''
groovy>
groovy>1
groovy>B
groovy>20132
groovy>
groovy>
groovy>2
groovy>C
groovy>666
groovy>
groovy>“”
groovy>def records=new XmlParser().parseText(xml)
groovy>println records.Object.pk[0].text()//从1返回
groovy>println records.Object.pk[1].text()//从2返回
groovy>println records.Object.valueB[0].text()//从20132返回
groovy>println records.Object.valueB[1].text()//从666返回
groovy>println records.Object.valueA[0].text()//从B返回
groovy>println records.Object.valueA[1].text()//从C返回
输出:
1.
2.
20132
666
B
C
除此之外,请检查来源查看此处文档如何?e、 到目前为止,谢谢你。我以后再看。今天早上我的办公桌上扔了很多不同的东西,所以我现在必须打破groovy脚本。@bish,好的,如果你有任何问题,请让我知道我的groovy脚本。谢谢你的回答,它帮助我完成了我的事情!
groovy> def xml = '''<Vector>
groovy> <Object>
groovy> <pk>1</pk>
groovy> <valueA>B</valueA>
groovy> <valueB>20132</valueB>
groovy> </Object>
groovy> <Object>
groovy> <pk>2</pk>
groovy> <valueA>C</valueA>
groovy> <valueB>666</valueB>
groovy> </Object>
groovy> </Vector>'''
groovy> def records = new XmlParser().parseText(xml)
groovy> println records.Object.pk[0].text() //return from <pk>1</pk>
groovy> println records.Object.pk[1].text() //return from <pk>2</pk>
groovy> println records.Object.valueB[0].text() //return from <valueB>20132</valueB>
groovy> println records.Object.valueB[1].text() //return from <valueB>666</valueB>
groovy> println records.Object.valueA[0].text() //return from <valueA>B</valueA>
groovy> println records.Object.valueA[1].text() //return from <valueA>C</valueA>
Output:
1
2
20132
666
B
C