0

我需要创建一个程序(最好在 C# 中)读取 2 个不同类型的文件(很可能是 .txt 和 .xls),其中的字段略有不同,并比较每一行。例如: 文件 1 (.txt):姓氏:Smith 名字:Bill EID:bs223 类型:会计 文件 2 (.xls):姓氏:smith first:bill EID:bs223 编号:5555555 类型:会计

这些文件有一些相同的字段,一些不同的。此外,文本文件在字段之间会有很多空格。我需要比较常用字段并向用户显示异同。每个文件中字段的格式将是一致的。

我的问题是,这样做的最佳选择是什么?将这两个文件都转换为 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());
          }
4

1 回答 1

0

你需要多久做一次这个练习?如果这是一次活动,我建议您可以以它们所在的格式读取这两个文件,然后执行字符串比较。在进行比较时,请确保忽略空格、逗号和大小写。

如果更热衷于 xml,请查看这个 -你将如何比较两个 XML 文档?,但在内部做同样的事情,我怀疑会给你带来任何性能改进。而且您还需要努力将它们都转换为 xml。

于 2013-06-23T01:01:58.627 回答