---
schema_version: "1"
id: f4277beae6bcaaa1f65497976821ac2ed29976bc85e4d07129d2ed26f2791524
title: XML 属性を渡す
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.7/dataweave-cookbook-pass-xml-attributes.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-pass-xml-attributes
source_site: docs.mulesoft.com
content_type: documentation
content_hash: b31522be669e3555dc4b8748c06816d41d8fc0f844d1938fc86464ed60ce4b7e
description: MuleSoft Documentation Site
release: "2.7"
latest: false
---
# XML 属性を渡す

DataWeave を使用すると、XML タグ入力元内から対象出力 XML に属性を渡すことができます。この DataWeave の例は、入力元ペイロードの ​`NameDetail`​ 項目の XML 属性を XML 出力の ​`TargetName`​ 項目に渡す方法を示しています。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の例](#1.2@dataweave::dataweave-examples.adoc)​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

この例では、以下を使用します。 - `NameDetail`​ 要素の配列を返す ​`.*`​ 複数値セレクター。 - 入力の NameDetail 要素の配列を反復処理する ​`map`​ 関数。 - 入力から属性を動的に選択することで、新しい出力タグの属性を作成する動的属性式 ​`@dynamicAttributes`​。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/xml
---
{
    Result: {
        (payload.Names.*NameDetail  map ( nameDetail , indexOfNameDetail ) -> {
            TargetName @((nameDetail.@)): {
                item: nameDetail.item
            }
        })
    }
}
```

入力 XML ペイロード:

```xml
<?xml version="1.0" encoding="UTF-8"?>
      <Names>
         <NameDetail NameId="11111" NameType="Person" Name="Richarson" GivenNames="John" PreferredLanguage="English" CompanyNumber="" Gender="Male" Title="" >
            <item>doo</item>
         </NameDetail>
         <NameDetail NameId="22222" NameType="Person" Name="Richarson" GivenNames="Susan" PreferredLanguage="Spanish" CompanyNumber="" Gender="Female" Title="" >
            <item>dah</item>
         </NameDetail>
         <NameDetail NameId="33333" NameType="Person" Name="Knox" GivenNames="Frances" PreferredLanguage="English" CompanyNumber="" Gender="Male" Title="" >
            <item>dab</item>
         </NameDetail>
      </Names>
```

出力 XML:

```xml
<?xml version='1.0' encoding='UTF-8'?>
<Result>
  <TargetName NameId="11111" NameType="Person" Name="Richarson" GivenNames="John" PreferredLanguage="English" CompanyNumber="" Gender="Male" Title="">
    <item>doo</item>
  </TargetName>
  <TargetName NameId="22222" NameType="Person" Name="Richarson" GivenNames="Susan" PreferredLanguage="Spanish" CompanyNumber="" Gender="Female" Title="">
    <item>dah</item>
  </TargetName>
  <TargetName NameId="33333" NameType="Person" Name="Knox" GivenNames="Frances" PreferredLanguage="English" CompanyNumber="" Gender="Male" Title="">
    <item>dab</item>
  </TargetName>
</Result>
```

## [](#関連する例)関連する例

- [自己終了 XML タグの出力](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-output-self-closing-xml-tags)
- [XML タグへの属性の挿入](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-insert-attribute)
- [XML 名前空間を含める](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-include-xml-namespaces)
- [出力からの項目の除外](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-exclude-field)
- [存在する項目の出力](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-output-a-field-when-present)
- [関数を使用したリストの条件付き削減](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-conditional-list-reduction-via-function)

## [](#関連情報)関連情報

- [DataWeave セレクター](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-selectors)
- [DataWeave の解説書](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook)