C#LINQ to XML返回结果

时间:2011-04-24 03:32:24

标签: c# linq linq-to-xml

我正在尝试在WPF应用的页面中创建一个简单的登录。我使用以下XML文件:

<?xml version="1.0" encoding="utf-8"?>
<users>
  <user>
    <username>test1</username>
    <password>1test</password>
 </user>
</users>

我是LINQ的新手,并不真正了解如何解决问题或将结果分配给变量。

现在我有:

        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文件中存在登录值。这和我的理解一样多。我不知道接下来要做什么来验证或验证用户登录。任何帮助或想法都会很棒。

1 个答案:

答案 0 :(得分:0)

如果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
}