C# 使用XML登录时出错

C# 使用XML登录时出错,c#,login,C#,Login,我几乎完成了一个大项目,这是我最后一个错误。因此,我制作了一个XML文件,可以在其中添加一些数据,下面是代码: string path = "XMLFile1.xml"; XmlDocument doc = new XmlDocument(); if (!System.IO.File.Exists(path)) { MessageBox.Show("lmge;lm"); XmlDecl

我几乎完成了一个大项目,这是我最后一个错误。因此,我制作了一个XML文件,可以在其中添加一些数据,下面是代码:

        string path = "XMLFile1.xml";
        XmlDocument doc = new XmlDocument();
        if (!System.IO.File.Exists(path))
        {
            MessageBox.Show("lmge;lm");
            XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
            XmlComment comment = doc.CreateComment("This is an XML Generated File");
            doc.AppendChild(declaration);
            doc.AppendChild(comment);
        }
        else
        {
            doc.Load(path); MessageBox.Show("Everyting is right?");
        }
        XmlElement root = doc.DocumentElement;
        XmlElement Subroot = doc.CreateElement("Angajat");
        XmlElement name = doc.CreateElement("Name");
        XmlElement id = doc.CreateElement("ID");
        XmlElement password = doc.CreateElement("Password");
        XmlElement phone = doc.CreateElement("phone_nr");
        XmlElement address = doc.CreateElement("Address");

        nume.InnerText = textBox1.Text;
        id.InnerText = textBox2.Text;
        password.InnerText = textBox3.Text;
        phone.InnerText = textBox4.Text;
        address.InnerText = textBox5.Text;
        Subroot.AppendChild(name);
        Subroot.AppendChild(id);
        Subroot.AppendChild(password);
        Subroot.AppendChild(phone);
        Subroot.AppendChild(address);

        root.AppendChild(Subroot);
        doc.AppendChild(root);
        doc.Save(path);
        MessageBox.Show("Succes!");
现在我登录了,在那里我得到了错误

        XmlDocument doc = new XmlDocument();
        string filename = @"D:\Poriecte Visual\INFO2017\INFO2017\XMLFile1.xml";

        doc.Load(filename);

        foreach (XmlNode node in doc.SelectNodes("persoane"))
        {
            String Username = node.SelectSingleNode("ID").InnerText;
            String Password = node.SelectSingleNode("Password").InnerText;

            if (Username == textBox3.Text && Password == textBox4.Text)
            {
                Form a = new Form4();
                a.Show();
                this.Hide();
            }
            else
            {
                MessageBox.Show("Something is wrong");
            }
我得到了这个错误:

我的XML文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<Persoane>
 <Angajat>
  <Name>Horatiu Necula</Name>
  <ID>horatiu</ID>
  <Password>123</Password>
  <Phone_nr>0723626741</Phone_nr>
  <Address>Valenii de munte ,PH</Address>
 </Angajat>
</Persoane>

赫拉提乌内库拉
霍拉图
123
0723626741
瓦莱尼·德蒙特博士
帮帮我,过去几天我搜索了很多,但都没找到:\


编辑:有人帮了我,它成功了,路径不正确,但现在我在第70行(字符串Username=node.SelectSingleNode(“ID”).InnerText;)出现错误“对象引用未设置为对象实例”(字符串Username=node.SelectSingleNode(“ID”))

您确定xml文件的路径正确吗? 如果路径上的文档实际上为空,则可能会发生此错误。
除此之外,我建议加载XML文件时使用所述的FileStream,因为如果文件不可用或不可访问,则会出现更详细的错误集。

您确定XML文件的路径正确吗? 如果路径上的文档实际上为空,则可能会发生此错误。
除此之外,我建议加载XML文件时使用所述的文件流,因为如果您的文件不可用或不可访问,则会出现更详细的错误集。

这就是您的XML文件的实际外观吗?为什么你所有的标签中都有空白?@Phylogenesis如果我删除空白,标签将消失,在VisualIS中没有它们。我已经用有效的XML编辑了这个问题。但是,我不相信。您的错误消息表明根元素丢失,这几乎直接表明您的XML文件在某种程度上是无效的。您能显示文件的内容吗?这是我的xml文件@Phylogenesis这是您的xml文件的实际外观吗?为什么你所有的标签中都有空白?@Phylogenesis如果我删除空白,标签将消失,在VisualIS中没有它们。我已经用有效的XML编辑了这个问题。但是,我不相信。您的错误消息表明根元素丢失,这几乎直接表明您的XML文件在某种程度上是无效的。你能显示文件的内容吗?这是我的xml文件@Phylogenesis