DTSXMLOperation Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica las operaciones utilizadas al trabajar con documentos XML.
public enum class DTSXMLOperation
public enum DTSXMLOperation
type DTSXMLOperation =
Public Enum DTSXMLOperation
- Herencia
-
DTSXMLOperation
Campos
Diff | 4 | Compara dos documentos XML. Usando el documento XML de origen como documento base, la operación de comparación lo compara con otro documento XML, detecta las diferencias y escribe las diferencias en un documento DiffGram XML. Esta operación incluye propiedades para personalizar la comparación. |
Merge | 3 | Combina dos documentos XML. Utilizando el documento XML de origen como un documento base, combina un segundo documento en el documento base. La operación puede especificar una ubicación de combinación en el documento. |
Patch | 5 | Aplica el resultado de la operación de comparación (un documento DiffGram) en un documento XML para crear un nuevo documento principal que puede incluir contenido del documento DiffGram. |
Validate | 0 | Valida el documento XML contra una definición de tipo de documento (DTD) o definición de esquema XML (XSD). |
XPATH | 2 | Realiza consultas y evaluaciones XPath. |
XSLT | 1 | Realiza transformaciones XSL en documentos XML. |
Ejemplos
En el ejemplo de código siguiente se muestra esta enumeración que se usa para establecer el OperationType derecho después de la creación de la tarea.
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);
}
}
}
Salida del ejemplo:
RESULTADOS: Correcto
Comentarios
Esta operación determina qué otras propiedades de la XMLTask clase son válidas. Por ejemplo, si la operación elegida es XPATH, se usan las propiedades PutResultInOneNode y XPathOperation . Cuando la operación es Validate, la FailOnValidationFail marca está disponible. Normalmente, esta es la primera propiedad establecida en el código, solo para que pueda ver inmediatamente qué tarea XMLTask está realizando.