如何更新集合上的多个属性?

时间:2013-05-24 13:12:55

标签: c# linq-to-xml

使用LINQ-to-XML查询,我有一个elements(类型IEnumerable<XElement>)的集合,在这个集合中,我想更新特定属性的所有值。所有更新的值都可以相同。

elements包含这些元素:

<element attribute1="value11" attribute2="value21" attribute3="value31" />
<element attribute1="value21" attribute2="value22" attribute3="value33" />
<element attribute1="value31" attribute2="value23" attribute3="value33" />

elements,如何同时更新attribute1的所有值?

1 个答案:

答案 0 :(得分:0)

Linq用于查询。要设置所有值,您应该迭代:

我没有对此进行过测试,但我觉得这样的事情可以解决这个问题:

var elements = document.Descendants("element");

foreach (XElement e in elements)
{
 if (element.Attribute("attribute1") != null)
        element.Attribute("attribute1").Value = "whateverValue";
    else
        element.Add(new XAttribute("attribute1", "whateverValue"));
}

相关: Update elements using LINQ to XML?