【问题标题】:How to update multiple attributes on a collection?如何更新集合上的多个属性?
【发布时间】:2013-05-24 21:24:04
【问题描述】:

通过 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的所有值?

【问题讨论】:

  • 您可以选择所有元素并使用foreach选择每个属性,您可以设置值。

标签: c# linq-to-xml


【解决方案1】:

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?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    相关资源
    最近更新 更多