0

指定したテキスト ファイルの内容全体を XML ファイルの内容の特定のブランチと比較し、2 つが一致するかどうかに応じてコンソールに 1 または 0 を出力する方法を探しています。比較したいxmlの部分は次のようになります。

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

XML の下にはさらにデータがありますが、この行をテキスト ファイルと比較したいだけです。例えば。xml ファイルの列に「test」が含まれていて、そこに記述されているすべてのテキスト ファイルが「test」である場合、1 が出力されますが、xml に「test」とあり、テキスト ファイルに「test123」とあると、1 は出力されません。 .

私が見つけた最も近いものは、2つのxmlファイルを比較するためのC#でのxmlの比較、およびhttp://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/59db1bb1-d822-4db7-b09cです。 -f7d2d5c705b4は、2 つの 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 に答える