一些 HTML内容比较/文本差异比较 开源代码
http://blog.csdn.net/zuoming120/article/details/6956963
http://htmldiff.codeplex.com/#
1. DiffPlex - a .NET Diff Generator http://diffplex.codeplex.com/SourceControl/changeset/view/052fd342999b 原网站dll下载 http://diffplex.codeplex.com/
简介:
具体使用可以参考http://diffplex.codeplex.com/wikipage?title=library&referringTitle=Home
IDiffer是差异比较的核心类,提供了两个文本的低精度的大致比较
ISidebySideDiff:提供了高精度的比较以及可以用两栏对比显示差异
接口
Silverlight
![](http://hi.csdn.net/attachment/201111/10/0_13209159359977.gif)
![](http://hi.csdn.net/attachment/201111/10/0_13209159674Dl5.gif)
2.diffengine
简介:
功能强大,
缺点:文本每行不能超过1024个字符
sourceFile = new DifferenceEngine.DiffList_TextFile("1.txt"); destinationFile = new DifferenceEngine.DiffList_TextFile("2.txt");
DifferenceEngine.DiffEngine engine = new DifferenceEngine.DiffEngine(); engine.ProcessDiff(sourceFile,destinationFile, DifferenceEngine.DiffEngineLevel.FastImperfect); ArrayList diffLines = engine.DiffReport(); foreach (DifferenceEngine.DiffResultSpan span in diffLines) { switch (span.Status) { case ifferenceEngine.DiffResultSpanStatus.NoChange: //没改变 break; case DifferenceEngine.DiffResultSpanStatus.AddDestination: //新增的 break; case DifferenceEngine.DiffResultSpanStatus.DeleteSource: //已删除的 break; case DifferenceEngine.DiffResultSpanStatus.Replace: //修改的 break; default: // 默认 break;
}
}
获取新增内容示例:
![](http://hi.csdn.net/attachment/201111/10/0_1320916037N3qE.gif)
3. htmldiff
简介:
HtmlDiff原本是Ruby版的HTML差异比较算法,后来有朋友做了个C#版本,特点是非常好用,过于简单 C#版: http://htmldiff.codeplex.com/
Ruby版: http://github.com/myobie/htmldiff http://www.rohland.co.za/index.php/2009/10/31/csharp-html-diff-algorithm/
4.NDiffDiff: A Diff Implementation for Lines and Chars in Text File
简介:
提供Winform Demo
http://www.codeproject.com/KB/recipes/NBDiffDiff.aspx