def text= '''<Rollback> <Kits>
<Kit ServerName='ust1twastool01a'>
<Backup>2016-10-18_20_34-46-_server-21.000.409_client-21.000.407.zip</Backup>
<Backup>2016-10-18_21_57-33-_server-21.000.409_client-21.000.407.zip</Backup>
<Backup>2016-10-19_02_40-03-_server-21.000.413_client-21.000.407.zip</Backup>
<Backup>2016-10-19_13_58-36-_server-21.000.413_client-21.000.407.zip</Backup>
<Backup>2016-10-20_03_14-34-_server-21.000.413_client-21.000.407.zip</Backup>
</Kit>
<Kit ServerName='another_server'>
<Backup>123123.zip</Backup>
<Backup>321321.zip</Backup>
</Kit>
</Kits></Rollback>'''
def xml = new XmlSlurper().parseText(text)
def map = [:]
i = 0
xml.Kits.Kit.each{node->
def list = []
node.Backup.each{kit->
list.add(kit)
}
map.put([email protected], list)
}
print map // print map with all keys and values
// Somehow, it's not working ...
print map['ust1twastool01a']
def map2 = ['1':["abc","123"], '2':["bcd", "456"]]
print map2['1']
Je suis agacé par le code ci-dessus pour presque toute la journée. Je ne comprends pas pourquoi je ne peux pas obtenir de valeur par carte ['ust1twastool01a'].Récupérer la valeur sur la carte par clé dans Groovy
J'ai attaché une capture d'écran à partir d'une console, cela montre que la carte n'est pas vide mais ne peut tout simplement pas obtenir sa valeur par clé. map2 est le contrôle tout groupe comme il a la structure similaire à la carte chaîne comme clé et la liste en tant que valeur
merci @dmahapatro, sauvé ma vie. Pourrait avoir un bon sommeil ce soir – user1888955