比较多个文件字段的最佳方法

时间:2013-06-23 00:47:34

标签: c# xml file compare xls

我需要创建一个程序(最好是在C#中),它读入2个不同类型的文件(很可能是.txt和.xls),字段略有不同,并比较每一行。例如: 文件1(.txt):姓氏:史密斯名字:比尔EID:bs223类型:会计 文件2(.xls):last:smith first:bill EID:bs223 number:5555555 type:accounting

文件有一些相同的字段,有些不同。此外,文本文件在字段之间将有许多空格。我需要比较常见字段并向用户显示相似点和不同点。每个文件中字段的格式将保持一致。

我的问题是,采取这样做的最佳选择是什么?将两个文件转换为XML并通过它进行比较是否明智?如果我使用它,XML将如何进入等式? C#中有更好的方法吗?

谢谢!

编辑: 将.txt转换为XML的代码

public static void Main() {
  XElement root = new XElement("root");
  foreach (String ln in File.ReadAllLines(@"input.txt")){
            string[] fields = ln.Split(' '); 
            XElement record = new XElement("record");
            int pos = 0;
            foreach (String sp in fields){
              if(sp != ""){
                pos += 1;
                XElement field = new XElement(string.Format("field_{0}", 
                pos.ToString()));
                field.Add(sp);
                record.Add(field);
                         }
                 }
            root.Add(record); 
            }
            Console.Write (root.ToString());
          }

1 个答案:

答案 0 :(得分:0)

您需要多久进行一次这项运动?如果这是一次性活动,我建议你可以用它们所在的格式读取这两个文件,然后只进行字符串比较。在做比较时一定要忽略空格,逗号和套管。

如果对xml更加热衷于How would you compare two XML Documents?,请看看这个,但内部做同样的事情,我怀疑会给你带来任何性能提升。此外,您还需要努力将它们转换为xml。