我有一个像这样的xml文件。
<Accounts>
<Account Id="">
<UserName/>
<Password/>
<AddingDate/>
<AccountType/>
</Account>
</Accounts>
我想要做的是,如果第一个元素的attaribute值不为空,则返回true,否则为false
private bool IsListEmpty(){
XDocument doc = XDocument.Load("UserAccounts.xml");
var c = from p in doc.Descendants("Account")
where p.Element("Id").Value == ""
select p.Value;
if(c==null)return......
}
但是我被困住了。我怎么能这样做
答案 0 :(得分:2)
只需在LINQ上使用FirstOrDefault()
,然后检查Id属性是否为空:
var account = doc.Descendants("Account").FirstOrDefault();
return account != null && !string.IsNullOrEmpty(account.Attribute("Id").Value)
答案 1 :(得分:1)
不确定我是否理解正确,但我认为.Any会做的。
XElement xelement = XElement.Load("UserAccounts.xml");
return xelement.Elements("Account").Where(x => string.IsNullOrEmpty((string)x.Element("Id"))).Any();
如果发现一个元素是&#34;&#34;
,则任何将返回true