XML 工作

更新: 2006 年 7 月 17 日

XML 工作用於處理 XML 資料。使用此工作,封裝可以擷取 XML 文件、使用「可延伸樣式表語言轉換」(XSLT) 樣式表和 XPath 運算式將作業套用到文件、合併多個文件,或者驗證、比較更新的文件,並將其儲存至檔案和變數。

此工作可讓 Integration Services 封裝在執行階段動態修改 XML 文件。您可將 XML 工作用於下列用途:

  • 重新格式化 XML 文件。例如,此工作可以存取位於 XML 檔案的報表,然後動態套用 XSLT 樣式表以自訂文件的呈現方式。
  • 選取 XML 文件的小節。例如,此工作可以存取位於 XML 檔案的報表,然後動態地套用 XPath 運算式來選取文件的小節。此作業也可以取得和處理文件中的值。
  • 合併多個來源的文件。例如,此工作可以下載多個來源的報表,然後動態地將其合併到一個綜合的 XML 文件。

您可以透過使用 XML 來源擷取 XML 文件的值,將 XML 資料包含到資料流程中。如需詳細資訊,請參閱<XML 來源>。

XML 工作執行的第一個動作是擷取特定的 XML 文件。此動作內建於 XML 工作中,並且可以自動發生。擷取的 XML 文件用作 XML 工作執行之作業的資料來源。

「Diff」、「合併」和「修補」的 XML 作業需要兩個運算元。第一個運算元會指定來源 XML 文件。第二個運算元也會指定 XML 文件,其內容視作業的需求而定。例如,Diff 作業會比較兩個文件;因此,第二個運算元會指定與來源 XML 文件相比較的另一個類似 XML 文件。

XML 工作可以將變數或「檔案」連接管理員用作其來源,或者在工作屬性中包含 XML 資料。

如果來源是變數,則指定的變數會包含 XML 文件的路徑。

如果來源是「檔案」連接管理員,則指定的「檔案」連接管理員會提供來源資訊。「檔案」連接管理員會在 XML 工作以外另行設定,並在 XML 工作中參考。「檔案」連接管理員的連接字串會指定 XML 檔案的路徑。如需詳細資訊,請參閱<檔案連接管理員>。

可以設定 XML 工作,以將作業結果儲存到變數或檔案。如果儲存到檔案,XML 工作則使用「檔案」連接管理員來存取此檔案。您也可以將 Diff 作業產生的 Diffgram 結果儲存到檔案和變數。

預先定義的 XML 作業

XML 工作包括一組預先定義的作業,用於處理 XML 文件。下表描述這些作業。

作業 描述

Diff

比較兩份 XML 文件。Diff 作業使用來源 XML 文件作為基底文件,將其與第二個 XML 文件相比較,偵測兩者的差異,並將差異寫入 XML Diffgram 文件。此作業包含用於自訂比較的屬性。

合併

合併兩份 XML 文件。「合併」作業使用來源 XML 文件作為基底文件,將第二個文件的內容加入此基底文件。此作業可以指定基底文件中的合併位置。

修補

將 Diff 作業的輸出 (稱為 Diffgram 文件) 套用到 XML 文件,以新建包含 Diffgram 文件內容的父文件。

驗證

針對「文件類型定義」(DTD) 或「XML 結構描述定義」(XSD) 結構描述來驗證 XML 文件。

XPath

執行 XPath 查詢和評估。

XSLT

在 XML 文件上執行 XSL 轉換。

Diff 作業

視比較要求快還是精確而定,Diff 作業可設定為使用不同的比較演算法。作業也可以設定為根據比較文件的大小來自動選取快速或精確比較。

Diff 作業包含一組自訂 XML 比較的選項。下表描述這些選項。

選項 描述

IgnoreComments

指定是否要比較註解節點的值。

IgnoreNamespaces

指定是否要比較元素的命名空間統一資源識別碼 (URI) 及其屬性名稱的值。如果此選項設定為 true,則本機名稱相同但命名空間不同的兩個元素會被視為一樣。

IgnorePrefixes

指定是否要比較元素前置詞和屬性名稱的值。如果此選項設定為 true,,則本機名稱相同但命名空間 URI 和前置詞不同的兩個元素會被視為一樣。

IgnoreXMLDeclaration

指定是否要比較 XML 宣告的值。

IgnoreOrderOfChildElements

指定是否要比較子元素順序的值。如果此選項設定為 true,則同層級清單中只有位置不同的子元素會被視為一樣。

IgnoreWhiteSpaces

指定是否要比較空白字元的值。

IgnoreProcessingInstructions

指定是否要比較處理指示的值。

IgnoreDTD

指定是否要忽略 DTD 的值。

XPath 作業

可以將 XPath 作業設定為使用不同類型的 XPath 功能。

  • 選取 [評估] 選項以實作 XPath 功能,例如 sum()。
  • 選取 [節點清單] 選項,將選取的節點當作 XML 片段傳回。
  • 選取選項以傳回所有選取節點的內部文字值 (串連成一個字串)。

驗證作業

可以將「驗證」作業設定為使用「文件類型定義」(DTD) 或「XML 結構描述定義」(XSD) 結構描述。

XML 文件編碼

XML 工作只支援 Unicode 文件的合併。這表示只能對具有 Unicode 編碼的文件套用「合併」作業。使用其他編碼將造成 XML 工作失敗。

ms141055.note(zh-tw,SQL.90).gif附註:
「Diff」和「修補」作業均包含一個選項,可用來忽略第二個運算元 XML 資料中的 XML 宣告,進而能夠在這些作業中使用具有其他編碼方式的文件。

若要確認 XML 文件是否可用,請檢視 XML 宣告。宣告必須明確指定 UTF-8 (表示 8 位元的 Unicode 編碼)。

下列標記顯示 Unicode 8 位元編碼。

<?xml version="1.0" encoding="UTF-8"?>

XML 工作上可用的自訂記錄訊息

下表描述 XML 工作的自訂記錄項目。如需詳細資訊,請參閱<在封裝中實作記錄>和<自訂訊息以進行記錄>。

記錄項目 描述

XMLOperation

提供有關工作執行之作業的資訊。

設定 XML 工作

您可以透過「SSIS 設計師」或以程式設計的方式來設定屬性。

如需有關可以在「SSIS 設計師」中設定之屬性的詳細資訊,請按下列其中一個主題:

如需有關如何在「SSIS 設計師」中設定屬性的詳細資訊,請按下列主題:

以程式設計方式設定 XML 工作

如需有關以程式設計方式設定這些屬性的詳細資訊,請按下列主題:

請參閱

概念

Integration Services 工作
建立封裝控制流程

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

變更的內容:
  • 新增自訂記錄項目的表格。