操作 XML 文档的属性

本文关键字:属性 文档 XML 操作 | 更新日期: 2023-09-27 18:33:54

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

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

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

操作 XML 文档的属性

最短的代码量而言

,最快的?
XDocument doc = XDocument.Load("test.xml");
foreach (var id in doc.Descendants("Delta").Attributes("id"))
{
    id.SetValue((int) id + 1);
}
doc.Save("test.xml");

你能用LINQ到XML吗(即你用的是什么.net版本??)。如果是这样,那么使用 Linq 就很容易了:

XDocument doc = XDocument.Load(source);
foreach (var deltaNode in doc.Descendants().Where(e => e.Name.LocalName == "Delta"))
    deltaNode.SetAttributeValue("id", "Whatever");