如何遍历多个xml标记

时间:2017-03-20 13:51:44

标签: 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"

但是hte xml可以有多个'HotelOption'xml标签,所以我想浏览每一个并检查其中的所有'ExtranetContract'元素是否等于false。

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

谢谢,

2 个答案:

答案 0 :(得分:0)

我认为以下内容应该有效:

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

答案 1 :(得分:0)

您也可以使用以下内容删除所有[0]位:

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

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