所以,我试图使用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>
答案 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;