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