DTSXMLDiffAlgorithm Enumerazione

Definizione

Specifica quale algoritmo utilizzare nel confronto di documenti XML.

public enum class DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm = 
Public Enum DTSXMLDiffAlgorithm
Ereditarietà
DTSXMLDiffAlgorithm

Campi

Nome Valore Descrizione
Auto 0

Default. Sceglie l'algoritmo di confronto per te in base alla dimensione e al numero supposto di cambiamenti nei documenti confrontati.

Fast 1

Confronta i due documenti XML attraversando l'albero XML e confrontandolo nodo per nodo. Questo algoritmo è molto veloce ma può produrre risultati meno precisi. Ad esempio, può rilevare sia un'operazione di aggiunta che di rimozione su un nodo invece di un'operazione di spostamento.

Precise 2

Confronta i file basandosi su un algoritmo per trovare la distanza di modifica tra alberi, noto anche come algoritmo Zhang-Shasha. Questo algoritmo fornisce risultati molto precisi, ma può essere molto lento su grandi documenti XML con molte modifiche.

Esempio

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

Si applica a