如何获取特定 xml 元素的值?
How to get value of a specific xml element?
我想获取 "pass" 元素的值并检查它是否与文本框相同
如果文本框中的文本与 xml 文件中 "pass" 元素的值相同,我应该打开下一个表单。
这是我的 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 文件正在被正确读取,但任何时候它都会转到其他部分。
请帮我看看我该怎么做。
您应该将结果列在一个列表中。这就是为什么它不能得到计数。
此外,我建议您使用 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");
}
我想获取 "pass" 元素的值并检查它是否与文本框相同 如果文本框中的文本与 xml 文件中 "pass" 元素的值相同,我应该打开下一个表单。
这是我的 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 文件正在被正确读取,但任何时候它都会转到其他部分。
请帮我看看我该怎么做。
您应该将结果列在一个列表中。这就是为什么它不能得到计数。
此外,我建议您使用 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");
}