XML
XML アプリを使用すると、XML/Parse XML モジュールを介して XML 形式のテキストを解析し、それをバンドルに変換して、他のモジュールでデータの使用が可能になります。XML/Create XML モジュールを使用して、バンドルを XML 形式のテキストに変換することもできます。
アクセス要件
この記事で説明している機能を使用するには、次のアクセス権が必要です。
ご利用のプラン、ライセンスタイプまたはアクセス権を確認するには、Workfront 管理者にお問い合わせください。
Adobe Workfront Fusion ライセンスについて詳しくは、Adobe Workfront Fusion ライセンスを参照してください。
XML を解析
XML/Parse XML モジュールは、XML 形式のテキストを解析し、XML から抽出されたすべての情報を含む単一のバンドルを出力します。
-
新しいシナリオを開始します。
-
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 |
>
手順 2~9 をスキップして、空のデータ構造を指定できます。データ構造が空の場合、モジュールが少なくとも 1 回実行されるまで、モジュールの出力はマッピングパネルで使用できません。 |
XML |
HTTP/Get a file モジュールの出力からの 数式のコードをコピーして、フィールドに貼り付けることができます。 バッファーデータ型とテキストデータ型の詳細については、Adobe Workfront Fusion の項目データ型を参照してください。
|
XML 属性の解析
デフォルトでは、XML/XML を解析モジュールは、属性をこれらの属性を持つノードの子として特別なコレクション _attributes
に配置します。ノードがテキストノードで、そのノードに属性が含まれている場合、属性の _attributes
とノードのテキストコンテンツの _value
の 2 つの特別なプロパティが追加されます。
<root attr="1">
<node attr="ABC">Hello, World</node>
</root>
は次のバンドルに変換されます。
XML を作成
XML/XML を作成モジュールは、バンドルを XML 形式のテキストに変換します。
- Google Sheets/行を選択モジュールを使用してデータを取得します。Google スプレッドシートから行を取得するモジュールを設定します。「返される行の最大数」を小さい数に設定しますが、テスト用に 1 より大きい値(例:3)に設定します。Google Sheets モジュールを右クリックし、「このモジュールのみを実行」を選択して実行します。モジュールの出力を確認します。
- Google Sheets モジュールの後に、配列アグリゲーターモジュールを接続します。モジュール設定で、「ソースノード」フィールドから Google Sheets モジュール を選択します。その他のフィールドは、現時点ではそのままにしておきます。
- Array Aggregator モジュールの後に XML/Create XML モジュールを 接続します。
- 「ジェネレーター」ボタンをクリックし、XML サンプルを「サンプルデータ」フィールドに貼り付けます。
![](./media_1678d7bc45d7531dd1df51272e1d41e5689c183f4.png?width=750&format=png&optimize=medium)
- 「保存」をクリックします。これで、データ構造の「仕様」フィールドに、生成された構造が含まれます。
- データ構造の名前をより具体的なものに変更し、「保存」をクリックします。ルート配列属性に対応するフィールドは、JSON モジュールの設定で、マッピング可能なフィールドとして表示されます。
- フィールドの横にある「マップ」ボタンをクリックし、Array aggregator から出力された
Array[]
項目をそれにマッピングします。 - 「OK」をクリックして、XML モジュールの設定を閉じます。
- Array Aggregator モジュールの設定を開きます。ターゲット構造 をカスタムから、親 XML 要素に対応する XML モジュールのフィールドに変更します。Google Sheets モジュールの項目を適切なフィールドにマッピングします。
- 「OK」をクリックして、Array Aggregator モジュールの設定を閉じます。
- シナリオを実行します。
- Google Sheets モジュールの設定を開き、すべてのデータを処理するためのスプレッドシートの行数よりも大きくなるように「返される行の最大数」の数値を増やします。
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 を解析モジュールからデータをマッピングできません
データ構造が正しく定義されていることを確認します。または、空のデータ構造を使用し、モジュールを少なくとも 1 回実行して XML 入力を処理することもできます。