我正在用C#编程并使用XDocument。 当且仅当没有其他元素具有匹配的属性值时,才想在树中添加元素。
例如,是否有一个LINQ表达式可用于查看下面的元素,看看在添加它之前是否已存在具有相同名称的foo元素?
<people>
<foo Name="Bob"> </foo>
<foo Name="Larry"></foo>
<foo Name="Tom"></foo>
</people>
我想做这样的事......
while(myXDocument.Element("people").Elements("foo").Attribute("Name").Contains(myName))
{
// modify myName and then try again...
}
答案 0 :(得分:9)
这应该有效:
XElement.Any(element => element.Attribute("Name").Value == myName)
如果属性Name
等于myName
答案 1 :(得分:4)
您可能希望查看XDocument.Elements上的IEnumerable.Any。这确定序列的任何元素是否满足条件。