XML
XML アプリを使用すると、XML/Parse XML モジュールを介して XML 形式のテキストを解析し、それをバンドルに変換して、他のモジュールでデータの使用が可能になります。XML/Create XML モジュールを使用して、バンドルを XML 形式のテキストに変換することもできます。
アクセス要件
この記事で説明している機能を使用するには、次のアクセス権が必要です。
table 0-row-2 1-row-2 2-row-2 3-row-2 layout-auto html-authored no-header | |
---|---|
Adobe Workfront パッケージ | 任意 |
Adobe Workfront プラン |
新規:標準 または 現在:仕事以上 |
Adobe Workfront Fusion ライセンス** | Workfront Fusion ライセンス要件なし |
製品 |
新規:
または 現在:Adobe Workfront Fusion を購入する必要があります。 |
このテーブルの情報について詳しくは、 ドキュメントのアクセス要件を参照してください。
Adobe Workfront Fusion ライセンスについて詳しくは、Adobe Workfront Fusion ライセンスを参照してください。
XML を作成
XML/XML を作成モジュールは、バンドルを XML 形式のテキストに変換します。
例:
一般的なユースケースは、Google スプレッドシートを XML に変換することです。
-
Google Sheets/行を選択モジュールを使用してデータを取得します。Google スプレッドシートから行を取得するモジュールを設定します。「返される行の最大数」を小さい数に設定しますが、テスト用に 1 より大きい値(例:3)に設定します。Google Sheets モジュールを右クリックし、「このモジュールのみを実行」を選択して実行します。モジュールの出力を確認します。
-
Google Sheets モジュールの後に、配列アグリゲーターモジュールを接続します。モジュール設定で、「ソースノード」フィールドから Google Sheets モジュール を選択します。その他のフィールドは、現時点ではそのままにしておきます。
-
Array Aggregator モジュールの後に XML/Create XML モジュールを 接続します。
モジュールの設定には、XML 出力の構造を記述したデータ構造が必要です。「追加」ボタンをクリックして、データ構造の設定を開きます。このデータ構造を作成する最も簡単な方法は、XML サンプルから自動的に生成することです。
-
「ジェネレーター」ボタンをクリックし、XML サンプルを「サンプルデータ」フィールドに貼り付けます。
-
保存 をクリックします。
これで、データ構造の「仕様」フィールドに、生成された構造が含まれます。
-
データ構造の名前をより具体的な名前に変更し、「保存」をクリックします。
ルート配列属性に対応するフィールドは、JSON モジュールの設定で、マッピング可能なフィールドとして表示されます。
-
フィールドの横にある「マップ」ボタンをクリックし、Array aggregator から出力された
Array[]
項目をそれにマッピングします。 -
「OK」をクリックして、XML モジュールの設定を閉じます。
-
Array Aggregator モジュールの設定を開きます。ターゲット構造 をカスタムから、親 XML 要素に対応する XML モジュールのフィールドに変更します。Google Sheets モジュールの項目を適切なフィールドにマッピングします。
-
「OK」をクリックして、Array Aggregator モジュールの設定を閉じます。
-
シナリオを実行します。
XML モジュールは、正しい XML ファイルを出力します。
-
Google Sheets モジュールの設定を開き、すべてのデータを処理するためのスプレッドシートの行数よりも大きくなるように「返される行の最大数」の数値を増やします。
結果の XML は Dropbox に保存したり、メールで添付ファイルとして送信したり、FTP 経由でサーバーにアップロードしたりできます。
XML 属性の追加
複雑なノード(他のノードを含むノード)に属性を追加する場合は、カスタムデータ構造内の複雑なメモに対して、_attributes
という名前のコレクションを追加する必要があります。このコレクションはノード属性にマッピングされます。属性をテキストノードに追加する場合(例:<node attr="1">abc</node>
)、カスタムデータ構造内のこのノードに、属性のコレクション _attributes
とノード値のテキストプロパティ _value
を追加する必要があります。
{
"name": "node",
"type": "collection",
"spec": [
{
"name": "_attributes",
"type": "collection"
"spec": [
{
"name": "attr1",
"type": "text"
}
]
},
{
"name": "_value",
"type": "text"
}
]
}
XML を解析
XML/Parse XML モジュールは、XML 形式のテキストを解析し、XML から抽出されたすべての情報を含む単一のバンドルを出力します。
例:
XML ファイルを URL からダウンロードしてコンテンツを解析するには:
-
新しいシナリオを開始します。
-
HTTP/ ファイルを取得 モジュールを追加します
-
モジュールの設定を開き、次のように設定します。
URL:XML ファイルの URL(例:
https://siftrss.com/f/rqLy05ayMBJ
) -
OK をクリックして、モジュールの設定を保存して閉じます。
-
XML/XML を解析モジュールを追加して、HTTP/ファイルを取得モジュールの後に接続し、次のように設定します。
table 0-row-2 1-row-2 layout-auto html-authored no-header Data structure - 「Add 」ボタンをクリックします。
- 「Generator」ボタンをクリックします。
- Web ブラウザーで、新しいタブまたはウィンドウを開きます。
- 3 番目の手順で使用した URL をアドレスバーに入れ、XML ファイルを取得します。
- すべての XML テキストを選択し、クリップボードにコピーします。
- タブまたはウィンドウを閉じて、シナリオに戻ります。
- コピーした XML テキストを「サンプルデータ」フィールドに貼り付けます。
- 「Save」をクリックします。
- データ構造が正常に生成されたことを確認します。
- 「Save」をクリックして、データ構造を保存します。
手順 2~9 をスキップして、空のデータ構造を指定できます。データ構造が空の場合、モジュールが少なくとも 1 回実行されるまで、モジュールの出力はマッピングパネルで使用できません。
XML HTTP/Get a file モジュールの出力からの
Data
項目をフィールドにマップします。toString()
関数を使用して、値を Buffer(バイナリデータ)型から Text 型に変換します。式のコードをコピーしてフィールドに貼り付けることができます。
{{toString(1.data)}}
バッファとテキストのデータ型の詳細については、「 アイテム データ型」を参照してください。
XML 属性の解析
デフォルトでは、XML/XML を解析モジュールは、属性をこれらの属性を持つノードの子として特別なコレクション _attributes
に配置します。ノードがテキストノードで、そのノードに属性が含まれている場合、属性の _attributes
とノードのテキストコンテンツの _value
の 2 つの特別なプロパティが追加されます。
例: この XML:
<root attr="1">
<node attr="ABC">Hello, World</node>
</root>
は次のバンドルに変換されます。
トラブルシューティング:XML を解析モジュールからデータをマッピングできません
データ構造が正しく定義されていることを確認します。または、空のデータ構造を使用し、モジュールを少なくとも 1 回実行して XML 入力を処理することもできます。