Как изменить, загрузив и сохранив тот же файл XML - PullRequest
0 голосов
/ 22 ноября 2011

У меня проблема с изменением XML-файла при первой загрузке, а затем сохранении его с тем же путем и именем файла.Ниже мой код.Ошибка: «Доступ к пути C: \ MyApp \ Web.config запрещен. Если я изменю путь к xdoc.Save, чтобы он отличался от xdoc.Load, тогда все будет в порядке. Какова ваша рекомендация для решения этой проблемы?Проблема? Если возможно, мне нужно изменить существующий XML-файл (то есть XML-файл для загрузки и сохранения - это один и тот же путь).

XmlDocument xdoc = new XmlDocument();
xdoc.Load(@"C:\\MyApp\\Web.config");
XmlNode xn = xdoc.SelectSingleNode("//configuration/MyProvider");           
XmlElement el = (XmlElement)xn;
el.SetAttribute("defaultProvider", "MyCustomValue"); 

xdoc.Save(@"C:\\MyApp\\Web.config");

Заранее спасибо.

1 Ответ

2 голосов
/ 22 ноября 2011

Я бы ожидал, что все будет в порядке , если у вас есть право на запись в web.config для начала, и если ничто другое не использует его. (Это было, конечно, хорошо в тесте, который я только что выполнил.) Я подозреваю, что более вероятно, что другой процесс уже использует файл (или тот же процесс, но какой-то другой код внутри него), или что у вас просто нет доступа на запись в файл.

...