我正在寻找一种方法,将指定文本文件的全部内容与XML文件内容的某个分支进行比较,并根据两者是否匹配,让控制台输出1或0。我想要比较的xml部分如下所示:
-<root>-<Info><Seperator>DATA TO BE COMPARED</Seperator></Info>XML下面有更多数据,但我只想将此行与文本文件进行比较。例如:如果xml文件的列中包含"test“,并且其中所有的文本文件都是"test”,那么它将输出1,但是如果xml显示"test“,而文本文件显示"test123”,则不会输出1。
我发现与此最接近的是:Xml Comparison in C#用于比较两个xml文件,http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/59db1bb1-d822-4db7-b09c-f7d2d5c705b4用于比较两个txt文件。
发布于 2012-05-20 06:57:04
忽略Seperator拼写错误的事实,并假设XML中只有一个Seperator节点,您可以使用LINQ to XML来读取相关节点:
var xml = "<root><Info><Seperator>DATA TO BE COMPARED</Seperator></Info></root>";
var xmlString = XElement.Parse(xml).Descendants("Seperator").FirstOrDefault().Value;然后,您可以使用File.ReadAllText将文件作为字符串读取:
var fileString = File.ReadAllText(@"c:\test.txt");然后最后进行比较:
Console.WriteLine("{0}", fileString == xmlString ? 1 : 0);https://stackoverflow.com/questions/10669077
复制相似问题