DTSXMLDiffAlgorithm Enumeration

Definition

Spezifiziert, welchen Algorithmus beim Vergleich von XML-Dokumenten verwendet werden soll.

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

Felder

Name Wert Beschreibung
Auto 0

Default. Wählt den Vergleichsalgorithmus für Sie aus, abhängig von der Größe und der angenommenen Anzahl der Änderungen in den verglichenen Dokumenten.

Fast 1

Vergleicht die beiden XML-Dokumente, indem der XML-Baum durchläuft und knotenweise vergleicht. Dieser Algorithmus ist sehr schnell, kann aber weniger präzise Ergebnisse liefern. Zum Beispiel kann es sowohl eine Hinzufügen- als auch eine Entfernen-Operation auf einem Knoten anstelle einer Bewegungsoperation erkennen.

Precise 2

Vergleicht Dateien basierend auf einem Algorithmus zur Bestimmung des Bearbeitungsabstands zwischen Bäumen, auch bekannt als Zhang-Shasha Algorithmus. Dieser Algorithmus liefert sehr präzise Ergebnisse, kann aber bei großen XML-Dokumenten mit vielen Änderungen sehr langsam sein.

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: