我一直在玩弄 XML,试图了解它是如何工作的,但遇到了一个奇怪的问题。有时,当我查询我的 XML 文件时,我没有得到我知道存在的结果。事实上,我唯一得到结果的是第一个条目。以下是一些示例 XML 条目和一个用于查看用户是否存在的小函数。
<users>
<user>
<username>a</username>
<firstname>a</firstname>
<lastname>a</lastname>
</user>
<user>
<username>b</username>
<firstname>b</firstname>
<lastname>b</lastname>
</user>
<user>
<username>rawr</username>
<firstname>a</firstname>
<lastname>a</lastname>
</user>
</users>
>
private bool FindUser(string username)
{
XDocument doc = XDocument.Load(filePath);
var data = from item in doc.Descendants("users")
where item.Element("user").Element("username").Value == username.ToLower()
select new
{
usernameEle = item.Element("user").Element("username").Value
};
var p = data.FirstOrDefault();
if (p != null)
return true;
else
return false;
}
如果我尝试搜索用户“a”,它会返回 true。如果我搜索任何其他用户名,它会返回 false。
我确信有一个简单的解决方案,但它让我望而却步!任何帮助都会很棒。