关于想要知道如何选择具有多个节点的元素,我有一个问题吗?
下面是一段代码,用于在第一个'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。
如何操作代码来执行此功能?
谢谢,
答案 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' }