我希望得到"传递"元素并检查它是否与文本框相同 如果文本框中的文本与" pass"的值相同在xml文件中的元素,我应该打开下一个表单。
这是我的C#代码:
sifre = txtsifre.Text;
XDocument doc = XDocument.Load(path + "\\Resources\\gbirligi.xml");
var cek = from ss in doc.Root.Descendants("Siparis")
where ss.Element("pass").Value == sifre
select ss;
if (cek.Count()==1)
{
AnaMenu mn = new AnaMenu();
this.Hide();
mn.Show();
}
else
{
MessageBox.Show("Invalid password");
}
我找不到我做错了什么。正在正确读取Xml文件,但只要它转到else部分。
请帮助我该怎么做。
答案 0 :(得分:0)
您应该将结果列入清单。这就是为什么它无法计算。
另外,我建议您使用cek.Count() > 0
而不是cek.Count() == 1
进行控制。试试这个:
var cek = (from ss in doc.Root.Descendants("Siparis")
where ss.Element("pass").Value == sifre
select ss).ToList();
if (cek.Count() > 0)
{
AnaMenu mn = new AnaMenu();
this.Hide();
mn.Show();
}
else
{
MessageBox.Show("Invalid password");
}