用XML替换多个不同的节点

时间:2015-03-03 02:54:47

标签: c# xml linq

我希望有效地(即在一次通过中)替换XML树中的多个节点。

foreach (Object x in xmlTree.Nodes())
{
    XElement e = x as XElement;
    if (e != null)
    {
        switch (e.Name.LocalName)
        {
            case "a":
                e.ReplaceWith(new XElement("red", (string)e));
                break;
            case "b":
                e.ReplaceWith(new XElement("blue", (string)e));
                break;
            // And a few other mappings...
        }
    }
}

我认为上面的代码在第一次替换后使迭代器失效。

0 个答案:

没有答案