C# C LINQ到XML返回的结果
我正在尝试为WPF应用程序创建一个简单的登录页面。我正在使用以下XML文件: 测试1 1测试 我是LINQ的新手,不知道如何获取任何信息或将结果分配给变量 现在我有:C# C LINQ到XML返回的结果,c#,linq,linq-to-xml,C#,Linq,Linq To Xml,我正在尝试为WPF应用程序创建一个简单的登录页面。我正在使用以下XML文件: 测试1 1测试 我是LINQ的新手,不知道如何获取任何信息或将结果分配给变量 现在我有: XDocument users = new XDocument("users.xml"); var queryResults = from u in users.Root.Descendants("user") where u.Element("
XDocument users = new XDocument("users.xml");
var queryResults =
from u in users.Root.Descendants("user")
where u.Element("username").Value == tbUserName.Text && u.Element("password").Value == pbPassword.Password
select u;
foreach (var item in queryResult)
{
Console.WriteLine(item);
}
因此,如果我的查询是正确的,它将把用户名和密码写入控制台(如果xml文件中存在登录值)。这是我所能理解的。我不知道接下来要做什么来验证或验证用户登录。任何帮助或想法都很好。如果queryResults不是空的,则用户名和密码是正确的,因此您可以这样做:
if (queryResults.Any())
{
// log user in, let him continue
}
else
{
// user name or password is incorrect, let the user know and possibly try again
}
您应该查看LinqPad,它允许您动态运行这些类型的查询。它很整洁当我在控制台应用程序中测试查询时,它可以工作。由于WPF程序中的某些原因,我得到:不能将非空白字符添加到内容中。我不知道这是什么意思。@user,这可能意味着您的XAML格式不正确,请检查一下。问题是:XDocument users=new XDocumentusers.xml;它应该是:XDocument users=XDocument.Loadusers.xml;我正在实例化一个新的空白XML文件,而不是加载XML文件。因此出现了空白。非常感谢你的帮助!