DTSXMLDiffAlgorithm Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, какой алгоритм использовать при сравнении XML-документов.
public enum class DTSXMLDiffAlgorithm
public enum DTSXMLDiffAlgorithm
type DTSXMLDiffAlgorithm =
Public Enum DTSXMLDiffAlgorithm
- Наследование
-
DTSXMLDiffAlgorithm
Поля
| Имя | Значение | Описание |
|---|---|---|
| Auto | 0 | Default. Выбирает алгоритм сравнения в зависимости от размера и предполагаемого количества изменений в сравниваемых документах. |
| 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);
}
}
}