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

适用于