DTSXMLDiffAlgorithm Enumerazione

Definizione

Specifica l'algoritmo da utilizzare per il confronto di documenti XML.

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

Campi

Auto 0

Valore predefinito. Sceglie automaticamente l'algoritmo di confronto in base alla dimensione e al numero di modifiche presunte nei documenti confrontati.

Fast 1

Confronta i due documenti XML mediante l'attraversamento dell'albero XML e il confronto nodo per nodo. Questo algoritmo è molto veloce ma può produrre risultati meno precisi. È ad esempio possibile che rilevi sia un'operazione di aggiunta che di rimozione in un nodo anziché un'operazione di spostamento.

Precise 2

Confronta i file in base a un algoritmo per l'individuazione della distanza di modifica tra alberi, noto anche come algoritmo di Zhang-Shasha. Questo algoritmo fornisce risultati molto precisi, ma potrebbe risultare molto lento su documenti XML con numerose 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