Udostępnij za pośrednictwem


Wyliczenie DTSXMLDiffAlgorithm

Określa algorytm, który podczas porównywania dokumentów XML.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Tasks.XMLTask
Zestaw:  Microsoft.SqlServer.XMLTask (w Microsoft.SqlServer.XMLTask.dll)

Składnia

'Deklaracja
Public Enumeration DTSXMLDiffAlgorithm
'Użycie
Dim instance As DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
public enum class DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm

Elementy członkowskie

Nazwa elementu członkowskiego Opis
Auto Domyślny.Wybiera algorytm porównania, w zależności od rozmiaru i zakładanej liczba zmian w porównywane dokumenty.
Fast Porównuje dwa dokumenty XML przez przechodzenie drzewa XML i porównanie węzeł przez węzeł.Ten algorytm jest bardzo szybko, ale może dać wyniki mniej dokładne.Na przykład może wykrywać zarówno Dodaj i usuń operację w węźle zamiast operacji przenoszenia.
Precise Porównuje pliki oparte na algorytmie znajdowania edycji odległość między drzewami, znany także jako algorytm Zhang firmy Shasha.Ten algorytm daje bardzo dokładnych wyniki, ale mogą być bardzo powolne na dużych dokumentów XML z wielu zmian.

Przykłady

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