C#XML-can';不读取XML文件?
我试图读取加载在doc中的整个xml文件。我试图遍历每个节点,并与文本框进行比较,看看它们的帐户是否存在 很抱歉没有深入,这是我的第一篇文章,我希望这些图片能有所帮助:请注意,源代码在控制台应用程序中工作得很好,但是在Windows窗体应用程序中不工作,但当我单击“登录”按钮时,似乎什么都没有发生,但在控制台应用程序中工作,但不是这个,有什么想法吗 源代码: 我正在阅读的Xml: 源代码不在图像中:C#XML-can';不读取XML文件?,c#,xml,visual-studio-2010,C#,Xml,Visual Studio 2010,我试图读取加载在doc中的整个xml文件。我试图遍历每个节点,并与文本框进行比较,看看它们的帐户是否存在 很抱歉没有深入,这是我的第一篇文章,我希望这些图片能有所帮助:请注意,源代码在控制台应用程序中工作得很好,但是在Windows窗体应用程序中不工作,但当我单击“登录”按钮时,似乎什么都没有发生,但在控制台应用程序中工作,但不是这个,有什么想法吗 源代码: 我正在阅读的Xml: 源代码不在图像中: private void btnLogin_Click(object sender, Eve
private void btnLogin_Click(object sender, EventArgs e)
{
string User = txtUserName.Text;
string pass = txtPassword.Text;
XmlDocument Doc = new XmlDocument();
Doc.Load("login.xml");
//iterating through each node to use for comparison for the textboxes
foreach (XmlNode CurrentNode in Doc.SelectNodes("accounts/user"))
{
string username = CurrentNode.SelectSingleNode("username").InnerText;
string password = CurrentNode.SelectSingleNode("password").InnerText;
if (txtUserName.Text == username && txtPassword.Text == password)
{
MessageBox.Show("Account exists");
}
else
{
MessageBox.Show("does not exist");
}
}
请尝试提供xml所在的完整路径,而不是在代码中提供login.xml 让我们进行一个小的重构,并引入一个特殊的函数来检查用户名/密码
static bool CheckLogin(string path, string username, string pwd)
{
return XDocument.Load(path).Root
.Elements("user")
.Any(x=>x.Element("username").Value==username && x.Element("password").Value==pwd);
}
请不要以截图的形式发布源代码。请在问题中发布源代码。另外,当您在调试器中单步执行此操作时,它在何处/如何具体失败?(你的逻辑似乎也有点混乱。如果文件中有100个条目,你真的想要99个消息框告诉你每个条目不匹配吗?)可能是你必须将“帐户/用户”更改为“玩家/用户”,但这只是一个有根据的猜测。哦,对不起,我的错,第一次,我对编程完全陌生,但在我的控制台应用程序中,如果消息有效,它只输出一条消息。对不起,我不再有任何意义了。我已经按照你说的做了,现在如何把它放进代码窗口而不是图像。谢谢你的输入,似乎不起作用,我把我的头发从这里拉出来,因为@Thomas提到代码中的代码应该是玩家/用户谢谢伙计们,我修复了它,谢谢你的帮助,对不起我的无趣