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 ライセンス要件なし
製品

新規:

  • Prime Workfront パッケージを選択する:Adobe Workfront Fusion を購入する必要があります。
  • Ultimate Workfront パッケージ:Workfront Fusion が含まれています。

または

現在:Adobe Workfront Fusion を購入する必要があります。

このテーブルの情報について詳しくは、 ドキュメントのアクセス要件を参照してください。

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

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 ルート要素とその内容だけを残すには、このオプションを有効にします。
recommendation-more-help

例:

一般的なユースケースは、Google スプレッドシートを XML に変換することです。

  1. Google Sheets/行を選択モジュールを使用してデータを取得します。Google スプレッドシートから行を取得するモジュールを設定します。「返される行の最大数」を小さい数に設定しますが、テスト用に 1 より大きい値(例:3)に設定します。Google Sheets モジュールを右クリックし、「このモジュールのみを実行」を選択して実行します。モジュールの出力を確認します。

  2. Google Sheets モジュールの後に、配列アグリゲーターモジュールを接続します。モジュール設定で、「ソースノード」フィールドから Google Sheets モジュール を選択します。その他のフィールドは、現時点ではそのままにしておきます。

  3. Array Aggregator モジュールの後に XML/Create XML モジュールを 接続します。

    モジュールの設定には、XML 出力の構造を記述したデータ構造が必要です。「追加」ボタンをクリックして、データ構造の設定を開きます。このデータ構造を作成する最も簡単な方法は、XML サンプルから自動的に生成することです。

  4. ジェネレーター」ボタンをクリックし、XML サンプルを「サンプルデータ」フィールドに貼り付けます。

    サンプルデータフィールド

  5. 保存 ​をクリックします。

    これで、データ構造の「仕様」フィールドに、生成された構造が含まれます。

  6. データ構造の名前をより具体的な名前に変更し、「保存」をクリックします。

    ルート配列属性に対応するフィールドは、JSON モジュールの設定で、マッピング可能なフィールドとして表示されます。

  7. フィールドの横にある「マップ」ボタンをクリックし、Array aggregator から出力された Array[] 項目をそれにマッピングします。

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

  9. Array Aggregator モジュールの設定を開きます。ターゲット構造 ​をカスタムから、親 XML 要素に対応する XML モジュールのフィールドに変更します。Google Sheets モジュールの項目を適切なフィールドにマッピングします。

  10. OK」をクリックして、Array Aggregator モジュールの設定を閉じます。

  11. シナリオを実行します。

    XML モジュールは、正しい XML ファイルを出力します。

  12. 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 から抽出されたすべての情報を含む単一のバンドルを出力します。

Data structure

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例:

XML ファイルを URL からダウンロードしてコンテンツを解析するには:

  1. 新しいシナリオを開始します。

  2. HTTP/​ ファイルを取得 ​ モジュールを追加します

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

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

    XML ファイルの URL の例

  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)}}

    バッファとテキストのデータ型の詳細については、「 アイテム データ型」を参照してください。

XML 属性の解析

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

例: ​この XML:

<root attr="1">
<node attr="ABC">Hello, World</node>
</root>

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

XML はバンドルに変換されました

トラブルシューティング:XML を解析モジュールからデータをマッピングできません

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

7e1891ad-4d59-4355-88ab-a2e62ed7d1a3