检测到LINQ到XML XElement的不可达代码
本文关键字:代码 XElement LINQ XML 检测 | 更新日期: 2023-09-27 18:16:41
我试图在c#中使用LINQ从XML文件中抓取值,它给我一个警告说
"class System.Xml.Linq.XElement表示一个XML元素。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.Linq;
namespace BDiamond
{
public class Login
{
private string email ;
private bool isValid = false;
private string bdConfigFile = "BDiamond.xml";
public bool VerifyEmail(string e)
{
string email = e;
//Grab element values that match the Email attribute in XML file
XElement root = XElement.Load(bdConfigFile);
IEnumerable<XElement> list1 =
from el in root.Elements()
where el.Attribute("Email") != null
select el;
}
}
}
我不确定您是否提供了实际的代码,但是您缺少的是返回语句,并且它不是警告它是错误。显然,这段代码没有生成任何警告。你可以像这样在方法的末尾添加一个return语句:
return list1.Any();
或者你可以在一个语句中完成:
public bool VerifyEmail(string e)
{
string email = e;
//Grab element values that match the Email attribute in XML file
XElement root = XElement.Load(bdConfigFile);
return root.Elements().Any(el => (string)el.Attribute("Email") == email);
}
我猜你应该比较Email
属性的值与参数email
,否则它没有任何意义。如果你知道哪个元素拥有Email
属性,你可以这样写:
return root.Descendants("ParentElement")
.Any(el => (string)el.Attribute("Email") == email);
不遍历所有元素