Как изменить несколько значений атрибутов из коллекции элементов? - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть коллекция элементов, использующих IEnumerable

, и это мой XML-файл

<string name="whatever" />
<string name="whatever" />
<string name="whatever" />

Я хочу изменить значения (независимо от) атрибутов, которые называются name.

<string name="whatever2" />
<string name="whatever2" />
<string name="whatever2" />

как-то так

Это то, что у меня сейчас есть для моей коллекции элементов

XElement elements = XElement.Load(file);  
IEnumerable<XElement> inlink = 
from el in elements.Elements()
where (string)el.Attribute("name").Value == "whatever"
select el;

1 Ответ

0 голосов
/ 22 сентября 2019

Если у вас есть коллекция XElement, для которой вам нужно изменить атрибут, вы можете использовать метод XElement.SetAttributeValue для присвоения новых значений атрибутам.Например,

var root = XElement.Parse(xmlString);  
var nodeList= root.Elements().Where(x=>(string)x.Attribute("name").Value == "whatever");
foreach(var node in nodeList)
{
    node.SetAttributeValue("name","whatever2");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...