Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy 如何遍历多个xml标记_Groovy_Soapui - Fatal编程技术网

Groovy 如何遍历多个xml标记

Groovy 如何遍历多个xml标记,groovy,soapui,Groovy,Soapui,我有一个问题想知道如何选择一个有多个节点的元素 下面是一段代码,用于在第一个“HotelOption”xml节点中查找元素“ExtranetContract”: def ExtranetContract = xml.'soap:Body'.xxx[0].xxx[0].xxx[0].xxx[0].xxx[0].xxx[0].@xxx assert ExtranetContract == "false" 但是xml可以有多个“HotelOption”xml标记,所以我想检查每个标记,并检查其中的

我有一个问题想知道如何选择一个有多个节点的元素

下面是一段代码,用于在第一个“HotelOption”xml节点中查找元素“ExtranetContract”:

def ExtranetContract = xml.'soap:Body'.xxx[0].xxx[0].xxx[0].xxx[0].xxx[0].xxx[0].@xxx

assert ExtranetContract == "false"
但是xml可以有多个“HotelOption”xml标记,所以我想检查每个标记,并检查其中的所有“ExtranetContract”元素是否都等于false

如何操作代码来执行此功能


谢谢,

我认为以下方法应该有效:

!xml.'soap:Body'.xxx[0].xxx[0].Results[0].xxx[0].xxx[0].xxx*.@xxx.contains('true')

您还可以通过以下方法去除所有
[0]
位:

def flags = xml.'soap:Body'
               .HotelAvailResponse
               .AvailabilityRS
               .Results
               .HotelResult
               .HotelOptions
               .HotelOption
               *.@ExtranetContract

assert flags.size() > 0 && flags.every { it == 'false' }