一些 HTML内容比较/文本差异比较 开源代码

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

Website
 

2.diffengine

简介:

功能强大,

缺点:文本每行不能超过1024个字符

DifferenceEngine.DiffList_TextFile sourceFile  null;
DifferenceEngine.DiffList_TextFile destinationFile = null;

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;

}

}

 

获取新增内容示例:

string str = ((DifferenceEngine.TextLine)(destinationFile.GetByIndex(span.DestIndex))).Line;

http://www.codeproject.com/KB/recipes/diffengine.aspx

 

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

最新文章

  1. Tesseract-OCR识别中文与训练字库实例
  2. [转]backbone.js 初探
  3. Redis系列-配置文件小结
  4. 二 、打开地图《苹果iOS实例编程入门教程》
  5. Android Studio下载安装使用教程
  6. c++笔试题两道,求解当中一道
  7. perl基本语法
  8. RSA算法原理(一)
  9. 【转】Appium基于安卓的各种FindElement的控件定位方法实践
  10. c++(爬楼梯)
  11. Tomcat 部署外部系统
  12. 移动端rem单位适配使用
  13. Spring Security数据库管理
  14. vue 数组
  15. ajax方式上传图片到Django后台
  16. 判断最小生成树是否为一(krustra)
  17. centos7怎能开机设置文本界面
  18. java动态代理的基本思想以及简单的实现
  19. 20165202 2017-2018-2 《Java程序设计》第1周学习总结
  20. 16_Java正则和日期对象

热门文章

  1. 【甘道夫】Hadoop2.2.0环境使用Sqoop-1.4.4将Oracle11g数据导入HBase0.96,并自己主动生成组合行键
  2. MongoDB基本概念和安装配置
  3. java中对象和对象引用的区别
  4. layui(弹出层)
  5. 前端的console.log的效果写法
  6. CDQ分治笔记
  7. java实现websocket 终极指南
  8. 【Tool】Linux下的Spark安装及使用
  9. 平衡二叉树(AVLTREE,双链表实现)
  10. 动态Axios配置