DTSXMLOperation 列挙型

定義

XMLドキュメントを扱う際に使われる操作を指定します。

public enum class DTSXMLOperation
public enum DTSXMLOperation
type DTSXMLOperation = 
Public Enum DTSXMLOperation
継承
DTSXMLOperation

フィールド

名前 説明
Validate 0

XMLドキュメントをドキュメントタイプ定義(DTD)またはXMLスキーマ定義(XSD)と照合して検証します。

XSLT 1

XML ドキュメントに対して XSL 変換を実行します。

XPATH 2

XPath クエリと評価を実行します。

Merge 3

2 つの XML ドキュメントをマージします。 ソースXMLドキュメントをベースドキュメントとして使用することで、2つ目のドキュメントをベースドキュメントにマージします。 この操作は文書内でマージの位置を指定することができます。

Diff 4

2 つの XML ドキュメントを比較します。 元のXMLドキュメントをベースドキュメントとして使用することで、Diff操作はそれを別のXMLドキュメントと比較し、違いを検出してXMLのDiffGramドキュメントに書き込みます。 この操作には、比較をカスタマイズするためのプロパティが含まれています。

Patch 5

Diff操作(DiffGramドキュメント)の出力をXMLドキュメントに適用し、DiffGramドキュメントの内容を含む新しい親ドキュメントを作成します。

以下のコード例は、タスク作成直後に OperationType を設定するためにこの列挙が使われていることを示しています。

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
using Microsoft.SqlServer.Dts.Tasks.XMLTask;  

namespace XMLTask_API  
{  
    class Program  
        {  
        static void Main(string[] args)  
                {  
                        // Set up the objects and tasks.  
                        Package pkg = new Package();  
                        Executable exec1 = pkg.Executables.Add("STOCK:XMLTask");  
                        TaskHost th = exec1 as TaskHost;  
                        // You can cast the InnerObject to the XmlTask, but it is advised   
                        // that you work with tasks through the TaskHost and its Properties.  
                        // XMLTask myTask = th.InnerObject as XMLTask;  

                        // Create a variable and a FILE connection manager to books.xml.  
                        Variable resultVar = pkg.Variables.Add("resultVariable", false, "", "Variable for the result");  
                        ConnectionManager connMgr = pkg.Connections.Add("FILE");  
                        connMgr.Name = "XMLConnectionManager";  
                        // The file, Books.xml, is stored on the C:\ drive.  
                        connMgr.ConnectionString = @"c:\books.xml";  

                        // Set the XMLTask properties.  
                        // The first property to set is the OperationType. Depending on the  
                        // OperationType, different properties are valid.  
                        // The operation type in this example is VALIDATE.  
                        th.Properties["OperationType"].SetValue(th, DTSXMLOperation.Validate);  
                        th.Properties["SourceType"].SetValue(th, DTSXMLSourceType.FileConnection);  
                        th.Properties["Source"].SetValue(th, connMgr.Name);  
                        th.Properties["OverwriteDestination"].SetValue(th, true);  
                        th.Properties["SaveOperationResult"].SetValue(th, true);  
                        th.Properties["DestinationType"].SetValue(th, DTSXMLSaveResultTo.Variable);  
                        th.Properties["Destination"].SetValue(th, resultVar.Name);  
                        th.Properties["SecondOperandType"].SetValue(th, DTSXMLSourceType.DirectInput);  
                        th.Properties["SecondOperand"].SetValue(th, "<x></x>");  
                        th.Properties["ValidationType"].SetValue(th, DTSXMLValidationType.DTD);  
                        th.Properties["FailOnValidationFaile"].SetValue(th, true);  
                        DTSExecResult valResults = pkg.Validate(pkg.Connections, pkg.Variables, null, null);  
                        Console.WriteLine("RESULTS: {0}", valResults);  
                }  
        }  
}  

出力例:

結果:成功

注釈

この操作は XMLTask クラス内の他の有効な性質を決定する。 例えば、選ばれた演算が XPATHであれば、 PutResultInOneNodeXPathOperation の性質が使われます。 操作が実行 Validateされると、 FailOnValidationFail フラグが利用可能になります。 これは通常、コードで最初に設定したプロパティで、 XMLTask がどのタスクを行っているかをすぐに確認できるようにしています。

適用対象