XML

XML應用程式可讓您透過XML > 剖析XML模組來剖析XML格式文字,並將它轉換成組合以供其他模組使用。 您也可以透過XML > 建立XML模組,將組合轉換為XML格式文字

存取需求

您必須具有下列存取權才能使用本文中的功能:

Adobe Workfront 計畫*
Pro或更高版本
Adobe Workfront 授權*
計畫,工作
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 > 剖析XML模組會剖析XML格式文字,並輸出包含從XML擷取之所有資訊的單一組合。

資料結構

資料結構說明XML的結構,以便在下列模組的對應面板中可取得模組的輸出。

如果您有想要剖析的XML範例,則可以用它來產生資料結構:

  1. 按一下 Add 按鈕。

  2. 按一下 產生器 按鈕。

  3. 將XML範例複製並貼到 範例資料 欄位中。

  4. 按一下 儲存

  5. 確認已成功產生資料結構。

  6. 按一下 儲存 按鈕以儲存資料結構。

    您可以略過步驟2至5來提供空白的資料結構。 如果資料結構是空的,至少執行一次模組後,才能在對應面板中取得模組的輸出。

如需詳細資訊,請參閱Adobe Workfront Fusion中的資料結構。

保留數字為文字
啟用此選項以確保數字保持為文字(字串)值。 否則,數字會轉換為數字值。
XML

輸入或對應您要剖析的XML格式文字。

如果您使用公式,請確定其結果值型別為(或可自動強製為)Text資料型別。

如果結果值型別為Buffer (二進位資料),請使用toString()函式將其轉換為Text資料型別。 如需詳細資訊,請參閱Adobe Workfront Fusion中的型別強制以及Adobe Workfront Fusion中的專案資料型別。

INFO
範例: ​若要從URL下載XML檔案並剖析其內容:
  1. 建立新情境。

  2. 插入HTTP > 取得檔案模組

  3. 開啟模組的設定,並依照以下方式設定:

    URL: XML檔案的URL (例如https://siftrss.com/f/rqLy05ayMBJ

  4. 按一下​ 確定 ​以儲存並關閉模組的設定。

  5. 新增XML > 剖析XML模組,在HTTP > 取得檔案模組後將其連線,並依照下列方式設定:

table 0-row-2 1-row-2 layout-auto html-authored no-header
資料結構

>

  1. > 按一下 Add 按鈕。
  2. > 按一下 產生器 按鈕。
  3. > 在網頁瀏覽器中,開啟新的標籤或視窗。
  4. > 將您第三個步驟中使用的URL放在位址列中,並擷取XML檔案。
  5. > 選取所有XML文字,並將其複製到剪貼簿。
  6. > 關閉標籤或視窗,並返回您的案例。
  7. > 將複製的XML文字貼到「範例資料」欄位中。
  8. > 按一下 儲存
  9. > 確認已成功產生資料結構。
  10. > 按一下 儲存 以儲存資料結構。 >

您可以略過步驟2到9,以提供空白的資料結構。 如果資料結構是空的,至少執行一次模組後,才能在對應面板中取得模組的輸出。

XML

將HTTP > Get a file模組輸出中的Data 專案對應到欄位中。 使用toString()函式將其值從Buffer (二進位資料)型別轉換為Text資料型別。

您可以將公式的程式碼複製並貼到欄位中: {{toString(1.data)}}

如需有關「緩衝區」和「文字」資料型別的詳細資訊,請參閱Adobe Workfront Fusion中的專案資料型別

剖析XML屬性

依預設,XML > 剖析XML模組會將特殊集合_attributes中的屬性當作具有這些屬性的節點的子系。 如果節點是文位元組點,且節點具有屬性,則會新增兩個特殊屬性:屬性為_attributes,節點文字內容為_value

INFO
範例: ​這個XML:
<root attr="1">
<node attr="ABC">Hello, World</node>
</root>

會轉換為此套件組合:

建立XML

XML > 建立XML模組會將組合轉換為XML格式文字。

資料結構

資料結構描述產生的XML結構。 如果您有想要建立的XML範例,則可以使用它來產生資料結構:

  1. 按一下 Add 按鈕。
  2. 按一下 產生器 按鈕。
  3. 將XML範例複製並貼到「範例資料」欄位中。
  4. 按一下 儲存 按鈕。
  5. 確認已成功產生資料結構。
  6. 按一下 儲存 以儲存資料結構。
根元素名稱
輸入XML根專案的名稱。 預設值為root
Doctype系統ID
輸入要在 !DOCTYPE SYSTEM宣告中使用的檔案名稱
Doctype公共ID
輸入要在 !DOCTYPE PUBLIC宣告中使用的檔案名稱
長條Xml宣告
啟用此選項以移除XML宣告<?xml ... ?><!DOCTYPE ... >,並只保留XML根專案及其內容。
INFO
範例:
典型的使用案例是將資料從Google >試算表轉換為XML。
  1. 將Google Sheets > 選取情境中的列模組以擷取資料。 設定模組以從Google試算表中擷取列。 將​ 傳回資料列數目上限 ​設定為小數,但大於一個以供測試之用(例如,三個)。 執行Google Sheets模組,方法為用滑鼠右鍵按一下該模組,然後選擇​ 僅執行此模組。 驗證模組的輸出。
  2. 在Google Sheets模組之後連線陣列彙總模組。 在模組的設定中,選擇​ Source節點 ​欄位中的Google Sheets模組。 讓其他欄位維持目前的狀態。
  3. 在陣列彙總模組之後連線XML > 建立XML模組。
模組的設定需要說明XML輸出結構的資料結構。 按一下「新增」按鈕,開啟資料結構設定。 建立此資料結構的最簡單方法是從XML範例自動產生它。
  1. 按一下​ 產生器 ​按鈕,然後將您的XML範例貼到範例資料欄位:
  1. 按一下「儲存」。資料結構中的「規格」欄位現在包含產生的結構。
  2. 將您的資料結構名稱變更為更具體的名稱,然後按一下[儲存]。 對應至根陣列屬性的欄位會顯示為JSON模組設定中的可對應欄位。
  3. 按一下欄位旁的​ 對應 ​按鈕,並將來自陣列彙總輸出的Array[]專案對應至該欄位:
  4. 按一下​ 確定 ​關閉XML模組的安裝程式。
  5. 開啟陣列彙總模組的設定。 將​ 目標結構 ​從「自訂」變更為XML模組的欄位,此欄位對應到父XML專案。將專案從Google Sheets模組對應到適當的欄位。
  6. 按一下​ 確定 ​以關閉陣列彙總模組的設定。
  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模組對應資料

請確定資料結構的定義正確。 或者,您可以使用空的資料結構並至少執行一次模組以處理XML輸入。

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