使用xml进行登录

时间:2016-09-20 17:06:40

标签: c# xml xpath

所以,我试图使用xml创建一个登录表单。我有xml文件,其中有一些数据,如ID和密码,我想用它们进行登录。这是我的代码

Object tryWithResources() throws OccasionalException {
    Object value = null;
    try (Resource resource = new Resource()) {
        occasionallyThrow();
        value = new Object();
        System.out.println(resource.toString());
    }
    catch (CloseException e) {
        catchBlock(value, e);  // call auxiliary method
    }
    return value;
}

void catchBlock(Object value, CloseException e) {
    if (value == null) {
        // then
    }
    else {
        // else
    }
}

并在(*)的行中出现此错误:对象引用未设置为对象的实例。

感谢您的任何帮助^^ 顺便说一下,我还是c#的初学者,所以如果代码不好,请不要判断我^^

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

var Username = "";
var Password = "";

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

    if (Username.Equals(textBox3.Text) && Password.Equals(textBox4.Text))
    {
        Form a = new Form4();
        a.Show();
        this.Hide();
    }
    else
    {
        MessageBox.Show("something is wrong");
    }

后来编辑:有更多日期:

 <?xml version="1.0" encoding="utf-8"?>
 <Persoane>
   <Angajat>
     <Nume_Prenume>Horatiu Necula</Nume_Prenume>
     <ID>horatiu</ID>
     <Parola>123</Parola>
     <Nr_de_telefon>0723626741</Nr_de_telefon>
     <Adresa>Valenii de munte ,PH</Adresa>
   </Angajat>
 </Persoane>

1 个答案:

答案 0 :(得分:1)

评论是正确的。我修改了答案:

&#34; ID&#34;节点不在&#34; Persoane&#34;节点。您可能希望查看XPath语法:https://msdn.microsoft.com/en-us/library/ms256086(v=vs.110).aspx

在你的情况下,它需要

Username = node.SelectSingleNode(".//ID").InnerText;
Password = node.SelectSingleNode(".//Password").InnerText;