如何使用LINQ来确定是否存在特定的属性值?

PIC*_*ain 5 c# xml linq

我正在用C#编程并使用XDocument.当且仅当没有其他元素具有匹配的属性值时,才想在树中添加元素.

例如,是否有一个LINQ表达式,我可以用它来查看下面的元素,看看在添加之前是否已经存在一个具有相同名称的foo元素?

<people>
    <foo Name="Bob"> </foo>
    <foo Name="Larry"></foo>
    <foo Name="Tom"></foo>
</people>
Run Code Online (Sandbox Code Playgroud)

我想做这样的事......

while(myXDocument.Element("people").Elements("foo").Attribute("Name").Contains(myName))
{
    // modify myName and then try again...
}
Run Code Online (Sandbox Code Playgroud)

wag*_*agi 9

这应该工作:

XElement.Any(element => element.Attribute("Name").Value == myName)
Run Code Online (Sandbox Code Playgroud)

如果有一个Name等于的属性,它将返回truemyName