&引用;如果;及;否则";C#输出不正确
我有一个将xml文件与文本文件进行比较的应用程序,如果xml的特定行的内容与文本文件相同,程序将输出1,但如果它们不同,则输出0。不幸的是,我无法将其输出到1。它似乎总是输出一个0 代码: XML文件(程序应该只读取数据部分): 当我执行&引用;如果;及;否则";C#输出不正确,c#,xml,C#,Xml,我有一个将xml文件与文本文件进行比较的应用程序,如果xml的特定行的内容与文本文件相同,程序将输出1,但如果它们不同,则输出0。不幸的是,我无法将其输出到1。它似乎总是输出一个0 代码: XML文件(程序应该只读取数据部分): 当我执行Console.WriteLine(fileString)时 或 不过,它们确实输出了相同的内容,这让我更加困惑。很可能您的文本文件也包含换行符号,从而使字符串不同。如何确保file.ReadAllText确实只返回一个字符?首先,为了调试的目的输出它,或者修剪
Console.WriteLine(fileString)时代码>
或
不过,它们确实输出了相同的内容,这让我更加困惑。很可能您的文本文件也包含换行符号,从而使字符串不同。如何确保file.ReadAllText确实只返回一个字符?首先,为了调试的目的输出它,或者修剪它。我测试了你的代码,我发现当
<Data>
<Seperator>1</Seperator>
</Data>
1.
当
<Data>
<Seperator>0</Seperator>
</Data>
0
完全合法和正确的输出
您是否尝试删除项目的BIN文件夹的内容?然后重新生成项目,并确保文本文件和xml文件属性设置为“如果较新,则复制”或“始终复制”,前提是这些文件是项目的一部分。我已经测试了您的代码,它工作正常,唯一的原因可能是您的文本文件在1之后包含新行。您可以尝试在if语句之前删除新行。使用
fileString = fileString.Replace(Environment.NewLine,"");
if(....) //your if
您是否已附加调试器以查看?谢谢!真不敢相信我竟然没有意识到这一点。
Console.WriteLine(xmlString);
<Data>
<Seperator>1</Seperator>
</Data>
<Data>
<Seperator>0</Seperator>
</Data>
fileString = fileString.Replace(Environment.NewLine,"");
if(....) //your if