1

我有一个以下通用格式的 XML 文档:

<Alpha>
    <Beta>
        <Gamma>
            <Delta id="1">
                ...
            </Delta>
            <Delta id="2">
                ...
            </Delta>
            ...
         </Gamma>
    </Beta>
</Alpha>

我正在寻找一种方法来查找所有Delta元素(无论有多少)并将id属性的值增加特定值,x然后保存文档。实现这一目标的最快方法是什么?

4

2 回答 2

6

在最短的代码量方面最快?

XDocument doc = XDocument.Load("test.xml");
foreach (var id in doc.Descendants("Delta").Attributes("id"))
{
    id.SetValue((int) id + 1);
}
doc.Save("test.xml");
于 2012-05-12T16:33:24.097 回答
0

您可以使用 LINQ to Xml(即您使用的是什么 .net 版本??)。如果是这样,那么使用 Linq 就很容易了:

XDocument doc = XDocument.Load(source);
foreach (var deltaNode in doc.Descendants().Where(e => e.Name.LocalName == "Delta"))
    deltaNode.SetAttributeValue("id", "Whatever");
于 2012-05-12T16:36:11.447 回答