Поделиться через


DTSXMLDiffAlgorithm Перечисление

Определение

Указывает алгоритм, используемый при сравнении XML-документов.

public enum class DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm = 
Public Enum DTSXMLDiffAlgorithm
Наследование
DTSXMLDiffAlgorithm

Поля

Имя Значение Описание
Auto 0

По умолчанию. Выбирает алгоритм сравнения в зависимости от размера и предполагаемого объема изменений в сравниваемых документах.

Fast 1

Сравнивает два XML-документа путем обхода XML-дерева и поэтапного сравнения узлов. Алгоритм работает очень быстро, но при его использовании возможно получение менее точных узлов. Например, на узле могут быть обнаружены операции добавления и удаления вместо операции перемещения.

Precise 2

Сравнивает файлы на основе алгоритма поиска редактируемого расстояния между узлами. Этот алгоритм также известен как алгоритм Чжан-Шаша. Использование этого алгоритма позволяет получить очень точные результаты, но его использование при работе с большими XML-документами с большим количеством изменений может занять длительное время.

Примеры

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

Применяется к