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

适用于