メイン コンテンツをスキップする 補完的コンテンツへスキップ

エレメント名とその値のマッピング

XMLエレメント名と値を抽出するマップを作成します。

このタスクについて

この例では、前に作成したXMLストラクチャーをマッピングし、XMLエレメント名がkeyエレメントに、そのエレメントの値がvalueエレメントにそれぞれ含まれているJSON出力を取得したいとします。

手順

  1. 次のコンテンツでJSONファイルを作成し、マシンに保存します:
    {
       "elements":[
          {
             "key":"",
             "value":[
                {
                   "key":"",
                   "value":""
                }
             ]
          }
       ]
    }
  2. Talend Data Mapperで、マップの出力として使うJSONファイルに基づいたストラクチャーを作成します。
  3. 標準マップを作成し、入力としてXMLストラクチャーを、出力としてJSONストラクチャーをそれぞれ追加します。
    詳細は、標準マップを作成をご覧ください。
  4. GetElementPropertyファンクションを出力elements/keyエレメントにドラッグ&ドロップします。
  5. 入力level1エレメントをElement引数にドラッグ&ドロップします。
    これは、keyエレメントの値がlevel1エレメントの名前でなければならないことを示しています。
  6. GetElementPropertyファンクションを出力elements/value/keyエレメントにドラッグ&ドロップします。
  7. 入力level2エレメントをElement引数にドラッグ&ドロップします。
  8. 入力level2エレメントを出力elements/value/valueエレメントにドラッグ&ドロップします。
    マップが設定され、これからテストできます。
  9. Javaサンプルデータオブジェクトを使って作業で提供されているXMLサンプルを、サンプル入力ドキュメントとしてインポートします。
    詳細は、サンプルドキュメントをインポートをご覧ください。
  10. [Test Run] (テスト実行)をクリックして結果を表示させます。

タスクの結果

最初のXMLサンプルが提供されると、JSON出力は次のようになります。
{
    "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"
                }
            ]
        }
    ]
}
他のサンプルに切り替えて[Test Run] (テスト実行)をもう一度クリックすれば、次の結果が得られます:
{
    "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"
                }
            ]
        }
    ]
}

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。