Mapper les noms et les valeurs des éléments - 7.3

Guide d'utilisation de Talend Data Mapper

Version
7.3
Language
Français (France)
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Création de Jobs

Créez une map pour extraire les noms et les valeurs des éléments XML.

Pourquoi et quand exécuter cette tâche

Dans cet exemple, vous souhaitez mapper la structure XML précédemment créée pour obtenir une sortie JSON contenant les noms et valeurs des éléments XML dans les éléments key et value, respectivement.

Procédure

  1. Créez un fichier JSON avec le contenu suivant et sauvegardez-le sur votre machine :
    {
       "elements":[
          {
             "key":"",
             "value":[
                {
                   "key":"",
                   "value":""
                }
             ]
          }
       ]
    }
  2. Dans Talend Data Mapper, créez une structure basée sur votre fichier JSON à utiliser comme sortie de votre map.
  3. Créez une map standard, ajoutez la structure XML en entrée et la structure JSON en sortie.
    Pour plus d'informations, consultez Créer une map standard.
  4. Glissez-déposez une fonction GetElementProperty sur l'élément de sortie elements/key.
  5. Glissez-déposez l'élément d'entrée level1 sur l'argument Element.
    Cela indique que la valeur de l'élément key doit être le nom de l'élément level1.
  6. Glissez-déposez une fonction GetElementProperty sur l'élément de sortie elements/value/key.
  7. Glissez-déposez l'élément d'entrée level2 sur l'argument Element.
  8. Glissez-déposez l'élément d'entrée level2 sur l'argument elements/value/value.
    Votre map est configurée, vous pouvez la tester.
  9. Importez les échantillons XML fournis dans Mapper une structure XML avec des éléments dynamiques comme documents échantillons d'entrée.
    Pour plus d'informations, consultez importer un document échantillon.
  10. Cliquez sur Test Run (Exécution de test) pour voir les résultats.

Résultats

Avec le premier échantillon XML fourni, la sortie JSON ressemble à ceci :
{
    "elements": [
        {
            "key": "book",
            "value": [
                {
                    "key": "title",
                    "value": "Pride and Prejudice"
                },
                {
                    "key": "author",
                    "value": "Jane Austen"
                },
                {
                    "key": "isbn",
                    "value": "978-0141439518"
                }
            ]
        },
        {
            "key": "book",
            "value": [
                {
                    "key": "title",
                    "value": "Jane Eyre"
                },
                {
                    "key": "author",
                    "value": "Charlotte Bronte"
                },
                {
                    "key": "isbn",
                    "value": "978-0553211405"
                }
            ]
        }
    ]
}
Vous pouvez passer d'un échantiilon à l'autre et cliquer sur Test Run (Exécution de test) à nouveau pour obtenir le résultat suivant :
{
    "elements": [
        {
            "key": "dvd",
            "value": [
                {
                    "key": "title",
                    "value": "Selma"
                },
                {
                    "key": "director",
                    "value": "Ava DuVernay"
                },
                {
                    "key": "released",
                    "value": "2014"
                }
            ]
        },
        {
            "key": "dvd",
            "value": [
                {
                    "key": "title",
                    "value": "The Hurt Locker"
                },
                {
                    "key": "director",
                    "value": "Kathryn Bigelow"
                },
                {
                    "key": "released",
                    "value": "2008"
                }
            ]
        }
    ]
}