【发布时间】:2015-04-12 15:40:48
【问题描述】:
我对使用 XML 做任何事情都是全新的,所以我不太了解术语,因此对于可能措辞不当的问题感到抱歉。
我有一个结构如下的 XML 文件:
<userinfo>
<id username="bobby" password="password123" email="booby@gmail.com" question="Favourite colour" answer="blue"></id>
<id username="tommy" password="adc123" email="herpderp@gmail.com" question="first pets name" answer="arnold"></id>
</userinfo>
(如有任何改进建议将不胜感激)
我需要根据用户名将问题值作为字符串检索。
我已经有一些与 xml 交互的代码,我返回一个 bool 用于登录,它只是检查信息是否一起存在:
public bool ValidLogin(string username, string password)
{
XDocument doc = XDocument.Load(@"K:\Sem2\Software Development in Application Frameworks\test stuff\text\loginDetails.xml");
return doc.Descendants("id")
.Where(id => id.Attribute("username").Value == username
&& id.Attribute("password").Value == password)
.Any();
}
但那是使用 linq,我不知道如何从 xml 中获取实际值。
如果它像以下那样简单,那就太好了:
return doc.Descendants("id").Attribute("question").Value.Where(id => id.Attribute("username").Value == enteredUsername);
【问题讨论】: