如何在父元素';s属性=x

本文关键字:属性 元素 | 更新日期: 2023-09-27 18:21:30

我有一个XML文档,其结构如下:

<position index="x">
     <character>y</character>
</position>

我需要能够根据一个位置的索引添加一个新字符。例如,在index="3"的情况下,添加字符"g"。

我知道我可以找到具有以下内容的元素:

var query = from positions in myDoc.Descendants("position")
     where (string)positions.Attribute("index").Value == n
     select positions;

但我很难弄清楚是否需要类似的查询或构造来识别属性值为x的元素,然后添加子节点。

如何在父元素';s属性=x

您的查询已经返回了要添加的元素,因此它可以归结为:

var query = from positions in myDoc.Descendants("position")
            where (string)positions.Attribute("index").Value == n
            select positions;
foreach (var position in query)
{
    position.Add(new XElement("character", "g"));
}