我需要创建一个程序(最好是在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());
}
答案 0 :(得分:0)
您需要多久进行一次这项运动?如果这是一次性活动,我建议你可以用它们所在的格式读取这两个文件,然后只进行字符串比较。在做比较时一定要忽略空格,逗号和套管。
如果对xml更加热衷于How would you compare two XML Documents?,请看看这个,但内部做同样的事情,我怀疑会给你带来任何性能提升。此外,您还需要努力将它们转换为xml。