Bonjour tout le monde,

Je parcours un fichier XML avec des balises dupliquées.
Afin de générer une Map où chaque double ne sera pas écrasé par la dernière valeur,
je souhaite modifier le nom des doublons à chaque fois
voici un exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
def xml = '''<Root>
    <fruit>banane </fruit>
    <fruit>fraise </fruit>
    <fruit>pomme </fruit>
    <legume>
           <name>tomate </name>
           <color> rouge </color>
           <color> vert </color>
   </legume>       
</Root>'''
Le résultat souhaité:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
[fruit:'banane', fruit1:'fraise', fruit2:'pomme', legume:[name:'tomate', 'color': rouge, color1:'vert']
Pour le moment j'utilise le bout de code ci dessous pour transformer mon Xml en Map mais qui ne prends pas en compte les balises en double:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
        new XmlSlurper().parseText(xml).children().collectEntries { n ->
             [(n.name(): { ->  n.children()?.collectEntries(owner) ?: n.text()}()]
Et j'obtiens le résultat:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
[ fruit:'pomme', legume:[name:'tomate', color:'vert']

Merci d'avance pour votre aide.