DTSXMLOperation 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
XML ドキュメントに関する作業を行うときに使用する操作を指定します。
public enum class DTSXMLOperation
public enum DTSXMLOperation
type DTSXMLOperation =
Public Enum DTSXMLOperation
- 継承
-
DTSXMLOperation
フィールド
Diff | 4 | 2 つの XML ドキュメントを比較します。 ソース XML ドキュメントを基本ドキュメントとして使用することで、DIFF 操作は、基本ドキュメントを他の XML ドキュメントと比較し、相違を検出して、XML DiffGram ドキュメントに相違点を書き込みます。 この操作には、比較をカスタマイズするためのプロパティが含まれています。 |
Merge | 3 | 2 つの XML ドキュメントをマージします。 ソース XML ドキュメントを基本ドキュメントとして使用することで、第 2 のドキュメントを基本ドキュメントにマージします。 この操作では、ドキュメント内でのマージ場所を指定できます。 |
Patch | 5 | DIFF 操作からの出力 (DiffGram ドキュメント) を XML ドキュメントに適用して、DiffGram ドキュメントの内容を含むことのできる新しい親ドキュメントを作成します。 |
Validate | 0 | 文書型定義 (DTD) または XML スキーマ定義 (XSD) に対して XML ドキュメントを検証します。 |
XPATH | 2 | XPath クエリと評価を実行します。 |
XSLT | 1 | XML ドキュメントに対して XSL 変換を実行します。 |
例
次のコード例では、この列挙を使用して、タスクを作成した直後に 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);
}
}
}
サンプル出力:
RESULTS: Success
注釈
この操作により、XMLTask クラスの他のプロパティで有効なものが決まります。 たとえば、操作として XPATH を選択すると、プロパティ PutResultInOneNode と XPathOperation が使用されます。 操作が Validate の場合は、FailOnValidationFail フラグが有効になります。 通常、コードではこのプロパティを最初に設定し、XMLTask が実行しているタスクがすぐにわかるようにします。