DTSXMLDiffAlgorithm Enumeration

Definition

Gibt an, welcher Algorithmus beim Vergleichen von XML-Dokumenten verwendet werden soll.

public enum class DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm = 
Public Enum DTSXMLDiffAlgorithm
Vererbung
DTSXMLDiffAlgorithm

Felder

Auto 0

Standard. Wählt abhängig von der Größe und der angenommenen Anzahl von Änderungen in den verglichenen Dokumenten den Vergleichsalgorithmus aus.

Fast 1

Vergleicht die beiden XML-Dokumente, indem die XML-Struktur durchlaufen und die einzelnen Knoten verglichen werden. Dieser Algorithmus ist sehr schnell, führt aber möglicherweise zu weniger präzisen Ergebnissen. Es kann z. B. anstelle eines Verschiebungsvorgangs sowohl einen Hinzufügungsvorgang als auch einen Entfernungsvorgang für einen Knoten erkennen.

Precise 2

Vergleicht Dateien auf Grundlage eines Suchalgorithmus für den Bearbeitungsabstand zwischen Strukturen, der auch als Zhang-Shasha-Algorithmus bezeichnet wird. Dieser Algorithmus ergibt sehr präzise Ergebnisse, ist aber möglicherweise bei umfangreichen XML-Dokumenten mit vielen Änderungen sehr langsam.

Beispiele

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

Gilt für: