将 XML 与 TXT C# 进行比较

本文关键字:比较 TXT XML | 更新日期: 2023-09-27 18:34:38

我正在寻找一种方法,将指定文本文件的全部内容与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 文件。

将 XML 与 TXT C# 进行比较

忽略 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);