c#做对比软件

一些 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值