我正在尝试使用soap响应返回的所有RoomTypeIds创建属性,就像我从网格中获取它,所有结果都在同一属性下,所以我可以迭代它们,但是当我运行脚本时,我得到只有最新的结果多次,通常的属性命名是:结果['属性']。
for(int i = 1; (context.expand( '...ns1:RoomTypes[1]/ns1:RoomType[' + i + ']/@hotelRoomTypeId}' )) != ""; i++)
{
def RoomTypeId = (context.expand( '...ns1:RoomTypes[1]/ns1:RoomType[' + i + ']/@hotelRoomTypeId}' )).toInteger()
result['RoomTypeId'] = RoomTypeId
}
答案 0 :(得分:0)
我认为result
是一个类似地图的对象。如果是这种情况,您是否在每次迭代期间覆盖 RoomTypeId ?
以下是将 RoomTypeId 属性设置为List的方法:
for(int i = 1; String value = context.expand( "...ns1:RoomTypes[1]/ns1:RoomType[$i]/@hotelRoomTypeId}"); i++) {
if(!result['RoomTypeId']) result['RoomTypeId'] = []
result['RoomTypeId'] << value.toInteger()
}