다음을 통해 공유


DTSXMLDiffAlgorithm 열거형

정의

XML 문서를 비교할 때 사용할 알고리즘을 지정합니다.

public enum class DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm = 
Public Enum DTSXMLDiffAlgorithm
상속
DTSXMLDiffAlgorithm

필드

Auto 0

기본값 비교된 문서의 크기 및 가정된 변경 수에 따라 사용자의 비교 알고리즘을 선택합니다.

Fast 1

XML 트리를 순회하고 해당 트리를 노드별로 비교하여 두 XML 문서를 비교합니다. 이 알고리즘은 매우 빠르지만 정확성이 다소 떨어지는 결과를 생성할 수 있습니다. 예를 들어 이동 작업 대신 노드에 대한 추가 작업과 제거 작업을 모두 검색할 수 있습니다.

Precise 2

Zhang-Shasha 알고리즘으로 알려진 트리 간 편집 거리를 찾는 데 사용되는 알고리즘을 기반으로 파일을 비교합니다. 이 알고리즘은 매우 정확한 결과를 생성하지만 변경 사항이 많은 큰 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);  
            }  
    }  
}  

적용 대상