Accéder au contenu principal Passer au contenu complémentaire

Mapper les noms et les valeurs des éléments

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.
    Pour plus d'informations, consultez Créer une structure à partir d'un document échantillon (uniquement en anglais).
  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 (uniquement en anglais).
  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 (uniquement en anglais) comme documents échantillons d'entrée.
    Pour plus d'informations, consultez importer un document échantillon (uniquement en anglais).
  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"
                }
            ]
        }
    ]
}

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !