Что вы действительно хотите сделать со своим XML? Какой атрибут вы хотите изменить ??
Один совет: вы можете загрузить и сохранить XmlDocument непосредственно в путь - нет необходимости в файловом потоке .....
xmldoc.Load(@"D:\yourpath\file.xml");
xmldoc.Save(@"D:\yourpath\newfile.xml");
Проблема в том, что ваше выражение xmldoc.DocumentElement.ChildNodes[0]
выбирает узел <one-of>
, который не имеет атрибутов.
Вы не можете изменить несуществующий атрибут.
Если вы хотите изменить атрибут «id» <rule>
, вам нужно сделать это в DocumentElement:
xmldoc.DocumentElement.Attributes["id"].Value = "Umaid";
Если вы хотите изменить текст внутри <item>
, сделайте следующее:
XmlNode itemNode = xmldoc.SelectSingleNode("/rule/one-of/item");
if(itemNode != null)
{
itemNode.InnerText = "Umaid";
}
Марк