DTSXMLDiffAlgorithm 列挙体

XML ドキュメントを比較するときに使用するアルゴリズムを指定します。

名前空間:  Microsoft.SqlServer.Dts.Tasks.XMLTask
アセンブリ:  Microsoft.SqlServer.XMLTask (Microsoft.SqlServer.XMLTask.dll)

構文

'宣言
Public Enumeration DTSXMLDiffAlgorithm
'使用
Dim instance As DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
public enum class DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm

メンバー

メンバー名 説明
Auto 既定値です。比較する文書のサイズと予想される変更の数に基づいて、比較アルゴリズムを選択します。
Fast XML ツリーを移動してノードごとに比較することで、2 つの XML ドキュメントを比較します。このアルゴリズムは非常に高速ですが、正確な結果が得られない可能性があります。たとえば、あるノードで、移動操作ではなく、追加操作と削除操作の両方を検出する場合があります。
Precise ツリー間の編集距離を発見するためのアルゴリズムに基づいてファイルを比較します。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);
            }
    }
}