DTSXMLOperation 枚举

定义

指定在使用 XML 文档时所使用的操作。

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

字段

Diff 4

比较两个 XML 文档。 通过使用源 XML 文档作为基文档,此 Diff 运算将该文档与其他 XML 文档进行比较,发现两者之间的差异,然后将这些差异写入某一 XML DiffGram 文档。 此运算包含用来自定义比较的属性。

Merge 3

合并两个 XML 文档。 通过使用源 XML 文档作为基文档,将第二个文档合并到该基文档中。 此运算可以指定文档中的合并位置。

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);  
                }  
        }  
}  

示例输出:

结果:成功

注解

此操作确定类中的其他 XMLTask 属性有效。 例如,如果选择的操作是 XPATH,则使用属性 PutResultInOneNode 和使用 XPathOperation 。 操作完成后 ValidateFailOnValidationFail 标志可用。 这通常是代码中的第一个属性集,因此你可以立即看到正在执行的任务 XMLTask

适用于