0

最初にロードしてから同じファイルパスと名前で保存するときに、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");

前もって感謝します。

4

1 に答える 1

2

最初にへの書き込みアクセス権があり、他に何も使用していない場合は、これで問題ないと思います。web.config(実行したばかりのテストでは確かに問題ありませんでした。)別のプロセスがすでにファイル(または同じプロセスであるがファイル内の他のコード)を使用しているか、単に書き込みアクセス権がない可能性が高いと思われます。ファイル。

于 2011-11-22T09:13:19.623 に答える