DTSXMLDiffAlgorithm Enumeration
Specifies which algorithm to use when comparing XML documents.
Namespace: Microsoft.SqlServer.Dts.Tasks.XMLTask
Assembly: Microsoft.SqlServer.XMLTask (in Microsoft.SqlServer.XMLTask.dll)
Syntax
'Declaration
Public Enumeration DTSXMLDiffAlgorithm
'Usage
Dim instance As DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
public enum class DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
Members
Member name | Description | |
---|---|---|
Auto | Default. Chooses the comparison algorithm for you depending on the size and assumed number of changes in the compared documents. | |
Fast | Compares the two XML documents by traversing the XML tree and comparing it node-by-node. This algorithm is very fast but may produce less precise results. For example, it may detect both an add and remove operation on a node instead of a move operation. | |
Precise | Compares files based on an algorithm for finding the editing distance between trees, also known as Zhang-Shasha algorithm. This algorithm gives very precise results but it may be very slow on large XML documents with many changes. |
Examples
Imports System
Imports System.Xml
Imports Microsoft.XmlDiffPatch
Namespace TestCompare
Class Class1
Shared Sub Main()
Dim diffWriter = New XmlTextWriter("diffgram.xml", New System.Text.UnicodeEncoding())
Dim myDiff As New XmlDiff()
myDiff.Algorithm = XmlDiffAlgorithm.Precise
Dim bSame As Boolean = myDiff.Compare("source.xml", "changed.xml", False, diffWriter)
Console.WriteLine("The answer is {0} ", bSame)
End Sub
End Class
End Namespace
using System;
using System.Xml;
using Microsoft.XmlDiffPatch;
namespace TestCompare
{
class Class1
{
static void Main()
{
XmlWriter diffWriter = new XmlTextWriter("diffgram.xml", new System.Text.UnicodeEncoding());
XmlDiff myDiff = new XmlDiff();
myDiff.Algorithm = XmlDiffAlgorithm.Precise;
bool bSame = myDiff.Compare("source.xml", "changed.xml", false, diffWriter);
Console.WriteLine("The answer is {0} ", bSame);
}
}
}