---
schema_version: "1"
id: c71ab90f7212a3d395b040526713fbfe3f46f8c54c6d1dfd3b176424300a35b6
title: 項目の値の変更
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/dataweave/2.7/dataweave-cookbook-change-value-of-a-field.md
canonical_url: https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-change-value-of-a-field
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 14b0d19486bf4fad4a376a3680f0ea447ff097ef0d1b0e3fcec8965444ade224
description: MuleSoft Documentation Site
release: "2.7"
latest: false
---
# 項目の値の変更

次の DataWeave の例は、​`update`​ と ​`mask`​ を使用していくつかの XML 要素を設定する方法を示しています。

開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​[DataWeave バージョン 1.2 の例](#1.2@dataweave::dataweave-examples.adoc)​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

## [](#ex01)例: Update を使用した値の変更

この例では、以下を使用します。

- `update`​ を使用してペイロードの指定項目を新しい値で更新する
- 単一値セレクター (​`.`​) と複数値セレクター (​`.*`​) を使用してペイロードを操作し、更新する項目を選択する

次のスクリプトは ​`update`​ 演算子の動作を示しています。この例では、ペイロードの各 ​`user`​ を新しい ​`user`​ で更新することで、新しい ​`users`​ リストを作成しています。変換では、​`first_name`​、​`middle_name`​、​`last_name`​ を大文字の値に変換します。

DataWeave スクリプト:

```dataweave
%dw 2.0
output application/xml
---
payload update {
  case user at .users.*user -> user update {
    case .personal_information.first_name -> upper(user.personal_information.first_name)
    case .personal_information.middle_name -> upper(user.personal_information.middle_name)
    case .personal_information.last_name -> upper(user.personal_information.last_name)
  }
}
```

入力 XML ペイロード:

```xml
<users>
    <user>
        <personal_information>
            <first_name>Emiliano</first_name>
            <middle_name>Romoaldo</middle_name>
            <last_name>Lesende</last_name>
            <ssn>001-08-84382</ssn>
        </personal_information>
        <login_information>
            <username>3miliano</username>
            <password>mypassword1234</password>
        </login_information>
    </user>
    <user>
        <personal_information>
            <first_name>Mariano</first_name>
            <middle_name>Toribio</middle_name>
            <last_name>de Achaval</last_name>
            <ssn>002-05-34738</ssn>
        </personal_information>
        <login_information>
            <username>machaval</username>
            <password>mypassword4321</password>
        </login_information>
    </user>
</users>
```

出力 XML:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <personal_information>
      <first_name>EMILIANO</first_name>
      <middle_name>ROMOALDO</middle_name>
      <last_name>LESENDE</last_name>
      <ssn>001-08-84382</ssn>
    </personal_information>
    <login_information>
      <username>3miliano</username>
      <password>mypassword1234</password>
    </login_information>
  </user>
  <user>
    <personal_information>
      <first_name>MARIANO</first_name>
      <middle_name>TORIBIO</middle_name>
      <last_name>DE ACHAVAL</last_name>
      <ssn>002-05-34738</ssn>
    </personal_information>
    <login_information>
      <username>machaval</username>
      <password>mypassword4321</password>
    </login_information>
  </user>
</users>
```

## [](#ex02)例: Mask を使用した値の変更

DataWeave は、各項目へのパスを指定せずに完全に値をマスクする方法を提供しています。

- `mask`​ は、入力中で選択された名前と一致するすべての単純要素を、指定されたマスクで更新します。

次の例では、​`ssn`​ と ​`password`​ の値をアスタリスク文字列 (​`****`​) でマスクします

DataWeave スクリプト:

```dataweave
%dw 2.0
import * from dw::util::Values
output application/xml
---
(payload mask "ssn" with "****") mask "password" with "****"
```

入力 XML ペイロード:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <personal_information>
      <first_name>EMILIANO</first_name>
      <middle_name>ROMOALDO</middle_name>
      <last_name>LESENDE</last_name>
      <ssn>001-08-84382</ssn>
    </personal_information>
    <login_information>
      <username>3miliano</username>
      <password>mypassword1234</password>
    </login_information>
  </user>
  <user>
    <personal_information>
      <first_name>MARIANO</first_name>
      <middle_name>TORIBIO</middle_name>
      <last_name>DE ACHAVAL</last_name>
      <ssn>002-05-34738</ssn>
    </personal_information>
    <login_information>
      <username>machaval</username>
      <password>mypassword4321</password>
    </login_information>
  </user>
</users>
```

出力 XML:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<users>
  <user>
    <personal_information>
      <first_name>EMILIANO</first_name>
      <middle_name>ROMOALDO</middle_name>
      <last_name>LESENDE</last_name>
      <ssn>****</ssn>
    </personal_information>
    <login_information>
      <username>3miliano</username>
      <password>****</password>
    </login_information>
  </user>
  <user>
    <personal_information>
      <first_name>MARIANO</first_name>
      <middle_name>TORIBIO</middle_name>
      <last_name>DE ACHAVAL</last_name>
      <ssn>****</ssn>
    </personal_information>
    <login_information>
      <username>machaval</username>
      <password>****</password>
    </login_information>
  </user>
</users>
```

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

- [XML から JSON への変換](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-perform-basic-transformation)
- [存在する項目の出力](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-output-a-field-when-present)
- [XML タグへの属性の挿入](https://docs.mulesoft.com/jp/dataweave/2.7/dataweave-cookbook-insert-attribute)

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

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