XML

XML アプリを使用すると、XML/Parse XML モジュールを介して XML 形式のテキストを解析し、それをバンドルに変換して、他のモジュールでデータの使用が可能になります。XML/Create XML モジュールを使用して、バンドルを XML 形式のテキストに変換することもできます。

アクセス要件

この記事で説明している機能を使用するには、次のアクセス権が必要です。

Adobe Workfront プラン*
Pro 以降
Adobe Workfront ライセンス*
Plan、Work
Adobe Workfront Fusion ライセンス**

現在のライセンス要件:Workfront Fusion ライセンスは必要ありません。

または

従来のライセンス要件:Workfront Fusion for Work Automation and Integration

製品

現在の製品要件:Select または Prime Adobe Workfront プランがある場合、この記事で説明する機能を使用するには Adobe Workfront Fusion と Adobe Workfront を組織で購入する必要があります。Workfront Fusion は、Ultimate Workfront プランに含まれています。

または

レガシー製品要件:この記事で説明する機能を使用するには、組織で Adobe Workfront Fusion と Adobe Workfront を購入する必要があります。

ご利用のプラン、ライセンスタイプまたはアクセス権を確認するには、Workfront 管理者にお問い合わせください。

Adobe Workfront Fusion ライセンスについて詳しくは、Adobe Workfront Fusion ライセンスを参照してください。

XML を解析

XML/Parse XML モジュールは、XML 形式のテキストを解析し、XML から抽出されたすべての情報を含む単一のバンドルを出力します。

Data structure

データ構造は、XML の構造を記述し、以下のモジュールのマッピングパネルでモジュールの出力を使用できるようにします。

解析する XML のサンプルがある場合は、それを使用してデータ構造を生成できます。

  1. Add 」ボタンをクリックします。

  2. Generator」ボタンをクリックします。

  3. XML サンプルを「Sample data」フィールドに入力します。

  4. Save」をクリックします。

  5. データ構造が正常に生成されたことを確認します。

  6. Save」ボタンをクリックして、データ構造を保存します。

    手順 2~5 をスキップして、空のデータ構造を指定できます。データ構造が空の場合、モジュールが少なくとも 1 回実行されるまで、モジュールの出力はマッピングパネルで使用できません。

詳しくは、Adobe Workfront Fusion のデータ構造を参照してください。

Preserve numbers as text
数値をテキスト(文字列)値として保持するには、このオプションを有効にします。それ以外の場合、数値は数値にキャストされます。
XML

解析する XML 形式のテキストを入力またはマップします。

数式を使用する場合、結果の値のタイプが Text データ型である(または自動的に強制的に適用される)ことを確認します。

結果の値の型が Buffer (バイナリデータ)の場合、 toString() 関数を使用して、テキストデータ型に変換します。詳しくは、Adobe Workfront Fusion での型強制および Adobe Workfront Fusion の項目データ型を参照してください。

INFO
例: URL から XML ファイルをダウンロードしてその内容を解析するには:
  1. 新しいシナリオを開始します。

  2. HTTP/ファイルを取得モジュールを挿入します。

  3. モジュールの設定を開き、次のように設定します。

    URL:XML ファイルの URL(例:https://siftrss.com/f/rqLy05ayMBJ

  4. OK」をクリックして、モジュールの設定を保存してモジュールを閉じます。

  5. XML/XML を解析モジュールを追加して、HTTP/ファイルを取得モジュールの後に接続し、次のように設定します。

table 0-row-2 1-row-2 layout-auto html-authored no-header
Data structure

>

  1. > 「Add」ボタンをクリックします。
  2. > 「Generator」ボタンをクリックします。
  3. > Web ブラウザーで、新しいタブまたはウィンドウを開きます。
  4. > 3 番目の手順で使用した URL をアドレスバーに入れ、XML ファイルを取得します。
  5. > すべての XML テキストを選択し、クリップボードにコピーします。
  6. > タブまたはウィンドウを閉じて、シナリオに戻ります。
  7. > コピーした XML テキストを「サンプルデータ」フィールドに貼り付けます。
  8. > 「Save」をクリックします。
  9. > データ構造が正常に生成されたことを確認します。
  10. > 「Save」をクリックして、データ構造を保存します。 >

手順 2~9 をスキップして、空のデータ構造を指定できます。データ構造が空の場合、モジュールが少なくとも 1 回実行されるまで、モジュールの出力はマッピングパネルで使用できません。

XML

HTTP/Get a file モジュールの出力からの Data 項目をフィールドにマップします。toString() 関数を使用して、値を Buffer(バイナリデータ)型から Text 型に変換します。

数式のコードをコピーして、フィールドに貼り付けることができます。 {{toString(1.data)}}

バッファーデータ型とテキストデータ型の詳細については、Adobe Workfront Fusion の項目データ型を参照してください。

XML 属性の解析

デフォルトでは、XML/XML を解析モジュールは、属性をこれらの属性を持つノードの子として特別なコレクション _attributes に配置します。ノードがテキストノードで、そのノードに属性が含まれている場合、属性の _attributes とノードのテキストコンテンツの _value の 2 つの特別なプロパティが追加されます。

INFO
例: ​この XML:
<root attr="1">
<node attr="ABC">Hello, World</node>
</root>

は次のバンドルに変換されます。

XML を作成

XML/XML を作成モジュールは、バンドルを XML 形式のテキストに変換します。

Data structure

データ構造は、結果の XML の構造を記述します。作成する XML のサンプルがある場合は、それを使用してデータ構造を生成できます。

  1. Add」ボタンをクリックします。
  2. Generator」ボタンをクリックします。
  3. XML サンプルをコピーして、「サンプルデータ」フィールドに貼り付けます。
  4. Save」ボタンをクリックします。
  5. データ構造が正常に生成されたことを確認します。
  6. Save」をクリックして、データ構造を保存します。
Root element name
XML のルート要素の名前を入力します。デフォルト値は root です。
Doctype SYSTEM ID
!DOCTYPE SYSTEM 宣言で使用するファイル名を入力します。
Doctype PUBLIC ID
!DOCTYPE PUBLIC 宣言で使用するファイル名を入力します。
Strip Xml Declaration
XML 宣言 <?xml ... ?><!DOCTYPE ... > を削除し、XML ルート要素とその内容だけを残すには、このオプションを有効にします。
INFO
例:
一般的なユースケースは、Google スプレッドシートを XML に変換することです。
  1. Google Sheets/行を選択モジュールを使用してデータを取得します。Google スプレッドシートから行を取得するモジュールを設定します。「返される行の最大数」を小さい数に設定しますが、テスト用に 1 より大きい値(例:3)に設定します。Google Sheets モジュールを右クリックし、「このモジュールのみを実行」を選択して実行します。モジュールの出力を確認します。
  2. Google Sheets モジュールの後に、配列アグリゲーターモジュールを接続します。モジュール設定で、「ソースノード」フィールドから Google Sheets モジュール を選択します。その他のフィールドは、現時点ではそのままにしておきます。
  3. Array Aggregator モジュールの後に XML/Create XML モジュールを 接続します。
モジュールの設定には、XML 出力の構造を記述したデータ構造が必要です。「追加」ボタンをクリックして、データ構造の設定を開きます。このデータ構造を作成する最も簡単な方法は、XML サンプルから自動的に生成することです。
  1. ジェネレーター」ボタンをクリックし、XML サンプルを「サンプルデータ」フィールドに貼り付けます。
  1. 保存」をクリックします。これで、データ構造の「仕様」フィールドに、生成された構造が含まれます。
  2. データ構造の名前をより具体的なものに変更し、「保存」をクリックします。ルート配列属性に対応するフィールドは、JSON モジュールの設定で、マッピング可能なフィールドとして表示されます。
  3. フィールドの横にある「マップ」ボタンをクリックし、Array aggregator から出力された Array[] 項目をそれにマッピングします。
  4. OK」をクリックして、XML モジュールの設定を閉じます。
  5. Array Aggregator モジュールの設定を開きます。ターゲット構造 ​をカスタムから、親 XML 要素に対応する XML モジュールのフィールドに変更します。Google Sheets モジュールの項目を適切なフィールドにマッピングします。
  6. OK」をクリックして、Array Aggregator モジュールの設定を閉じます。
  7. シナリオを実行します。
XML モジュールは、正しい XML ファイルを出力します。
  1. 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 を解析モジュールからデータをマッピングできません

データ構造が正しく定義されていることを確認します。または、空のデータ構造を使用し、モジュールを少なくとも 1 回実行して XML 入力を処理することもできます。

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43