使用標準工作流程中的架構搭配 Azure Logic Apps 剖析 XML (預覽)
適用於:Azure Logic Apps (標準)
重要
此功能處於預覽狀態,且受限於 Microsoft Azure 預覽版的補充使用規定。
在企業整合企業對企業 (B2B) 或 BizTalk 移轉案例中,您可能必須剖析 XML 檔。 您的標準邏輯應用程式工作流程可以使用名為 Parse XML 搭配架構的動作來剖析 XML,這需要 XSD 架構。
例如,假設您定期收到使用 XML 作為交換格式的客戶訂單或發票,而且需要在 Azure Logic Apps 的工作流程設計工具中存取個別的 XML 元素。
限制
取用 邏輯應用程式資源和工作流程目前尚不支援此動作。
必要條件
Azure 帳戶和訂用帳戶。 如果您還沒有訂閱,則請 註冊免費的 Azure 帳戶。
已以觸發程式開頭的標準邏輯應用程式工作流程,可讓您將具有架構動作的剖析 XML 新增至工作流程。
您在其中定義和儲存成品的整合帳戶資源 (例如交易夥伴、合約、憑證等),藉以用於企業整合和 B2B 工作流程。 此資源必須符合下列需求:
與邏輯應用程式資源相同的 Azure 訂閱相關聯。
存在於與邏輯應用程式資源相同的位置或 Azure 區域,而您打算使用 剖析 XML 搭配架構 動作。
如果您正在處理 標準邏輯應用程式資源和工作流程,您可以根據下列案例,將整合帳戶連結至邏輯應用程式資源、直接將 XSD 架構上傳至邏輯應用程式資源,或兩者:
如果您的企業整合帳戶已經含有需要或想要使用的成品,您可以將該企業整合帳戶連結至您想要在其中使用成品的多個標準邏輯應用程式資源。 如此一來,您就不需要將 XSD 架構上傳至每個個別邏輯應用程式。 如需詳細資訊,請參閱將邏輯應用程式資源連結至企業整合帳戶。
如果您沒有整合帳戶,或只打算在相同邏輯應用程式資源內的多個工作流程之間使用構件,則可以使用 Azure 入口網站 或 Visual Studio Code 直接將架構新增至邏輯應用程式資源。
因此,如果您沒有或不需要企業整合帳戶,則可以使用上傳選項。 否則,您可以使用連結選項。 不管怎樣,您都可以在相同邏輯應用程式資源的所有子工作流程中使用這些成品。
要搭配剖析 XML 搭配 架構動作使用的 XSD 架構 。 請確定此架構包含根元素,看起來像下列範例:
<xs:element name="Root"> <....> </xs:element>
新增具有架構動作的剖析 XML
在 Azure 入口網站中,於設計工具中開啟您的標準邏輯應用程式和工作流程。
如果您有不具觸發程序的空白工作流程,請遵循下列一般步驟來新增您想要的任何觸發程序。 否則,請繼續下一個步驟。
此範例使用要求觸發程序。
在您想要新增 具有架構 動作的剖析 XML 工作流程中的步驟下, 依照下列一般步驟新增名為 Parse XML 與架構的動作。
在 [ 內容 ] 方塊中,指定您想要使用 HTTP 要求中收到的任何 XML 數據來剖析的 XML 內容。
若要選取工作流程中先前作業的輸出,請在 [剖析 XML 與架構動作] 中,選取 [內容] 方塊內,然後選取動態內容清單選項 (閃電圖示)。
從動態內容清單中,選取您要剖析之內容的令牌。
此範例從觸發程序選取主體語彙基元。
從 [ 來源 ] 清單中,選取您上傳 XSD 架構的位置, 也就是您的 LogicApp 資源或 IntegrationAccount。
從 [ 名稱] 清單中,選取您的 XSD 架構。
完成後,請儲存您的工作流程。
您現在已完成使用架構動作來設定 Parse XML。 在真實世界中,您可能會想要將剖析的數據儲存在企業營運 (LOB) 應用程式中,例如 Salesforce。 若要將剖析的輸出傳送至 Salesforce,請新增 Salesforce 動作。
若要測試剖析動作,請觸發並執行您的工作流程。 例如,針對 [要求 ] 觸發程式,將要求傳送至觸發程式的端點 URL。
剖 析具有架構 動作的剖析 XML 會在觸發工作流程之後執行,以及 XML 內容可供剖析時執行。
進階參數
下表說明此動作中可用的進階參數:
參數 | 數值 | Description |
---|---|---|
DTD 處理 | - 忽略 - 剖析 - 禁止 |
指定如何處理 XML 檔案類型定義 (DTD)。 |
標準化 XML | [否] 或 [是] | 是否正規化 XML 內容。 |
忽略空格符? | [否] 或 [是] | 是否要剖析或忽略微不足道的空格符,例如 XML 檔中的空格、索引標籤和空白行。 |
忽略 XML 處理指令? | [否] 或 [是] | 是否要遵循或忽略 XML 處理指令。 |
忽略 XML 屬性 | [否] 或 [是] | 是否要寫入或忽略 XML 屬性。 |
使用完整名稱? | [否] 或 [是] | 是否要使用更簡單的本機名稱或完整 XML 名稱。 |
根節點限定名稱 | <root-node-qualified-name> | 如果架構包含多個未參考的項目定義,則根節點的限定名稱。 |