Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerDataWeave には、入力データの構造をトラバースし、一致する値を返すための多数の『セレクター』があります。次の例は、単一値の DataWeave セレクター (.
) を使用して、XML 要素からデータを抽出します。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、『DataWeave バージョン 1.2 の例』を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
XML マークアップ言語には、1 つのルート要素が必要です。次の例では、子に同階層がないため、ルート (language
) のセレクターは子要素を抽出できます。
1 つのルートを使用する有効な XML 構造でルート要素のすべてのサブ要素を返すため、次のスクリプトは DataWeave キーを使用して新しい要素名 (myroot
) を指定し、ルート (root
) を選択してその値を返します。1 つの XML ルートを返すことに失敗したスクリプトでは、エラー Trying to output non-whitespace characters outside main element tree (in prolog or epilog)…
が生成されます。
次の例では、子要素の名前 (name
) と単一値セレクターを使用して、その値を選択します。payload.language.name
によって子要素に移動していることがわかります。このスクリプトは、DataWeave が有効な XML を作成できるように、値のルート要素も提供します。
次の例は、インデックスを使用して、入力 XML から 2 番目の子要素の値を返します。DataWeave は子要素を配列のインデックスとして扱うため、インデックス language[1]
を使用して 2 番目の子を選択できます。結果は 1 つの XML 要素になります。
入力の複数の子要素が同じ名前である場合、インデックスを使用して子の値を選択します。次の例では、子要素のサブ要素を選択しています。