XMLTask::Destination Property


Gets or sets the name of the connection or the variable to which the XML task saves the results of the operation.

Namespace:   Microsoft.SqlServer.Dts.Tasks.XMLTask
Assembly:  Microsoft.SqlServer.XMLTask (in Microsoft.SqlServer.XMLTask.dll)

property String^ Destination {
	virtual String^ get() sealed;
	virtual void set(String^ value) sealed;

Property Value

Type: System::String^

A String that contains the name of the connection or variable to which the XML task saves the results of the operation.

This property is available to the XMLTask, regardless of the OperationType value.

The following code example adds an XMLTask to a package, and sets properties using the TaskHost.

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 here.
                // 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 C:\ drive.
                connMgr.ConnectionString = @"c:\books.xml";

                // Set the XMLTask properties.
                // The first property to set is OperationType.
                // Depending on the OperationType, 
                // different properties are valid.
                // The OperationType 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);

Sample Output:

RESULTS: Success

Return to top