Изменение XML в C#
Текст и атрибут узла меняют прямо в памяти, друг от друга эти правки не зависят.
После правок печатают новый текст и значение атрибута языка:
using System.Xml.Linq;
XElement note = new("note", "old");
note.Value = "new";
note.SetAttributeValue("lang", "en");
Console.WriteLine(note.Value);
Console.WriteLine((string?)note.Attribute("lang"));
У нового узла атрибута "lang" не было,
и SetAttributeValue его добавляет.
Приведение атрибута к string даёт
значение "en", а не всю запись тега.
Создайте узел "label" с текстом
"draft", замените текст на
"final" и добавьте атрибут
"id" со значением "4".
Выведите текст узла и значение
"id".