0

我正在寻找一种将指定文本文件的全部内容与 XML 文件内容的某个分支进行比较的方法,并根据两者是否匹配让控制台输出 1 或 0。我想比较的 xml 部分如下所示:

-<root>-<Info><Seperator>DATA TO BE COMPARED</Seperator></Info>

XML 下面有更多数据,但我只想将此行与文本文件进行比较。例如。如果 xml 文件在列中包含“test”,并且其中写入的所有文本文件都是“test”,它将输出 1,但 xml 表示“test”并且文本文件表示“test123”它不会.

我发现最接近的事情是:C# 中的 Xml 比较来比较两个 xml 文件,以及http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/59db1bb1-d822-4db7-b09c -f7d2d5c705b4比较两个 txt 文件。

4

1 回答 1

0

忽略 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);
于 2012-05-19T22:57:04.140 回答