ASP.NET修改Web.Config文件(对xml的操作)
在web项目中将管理员的密码存储在web.config文件中,要求可以修改其密码,那么如何对web.config文件进行修改呢?
解决方案:
web.cofig文件其实也是xml,所以使用对xml操作的方法即可实现。
由于xp操作系统对操作权限的限制,所以在调试前应该将web文件夹的权限进行设置,添加AspNet用户,并使之拥有修改的权限。
主要使用XmlDocument来解析web.config.并用SelectSingleNode()方法来定位要修改的配置节。要注意的是最后程序要Save(),所以,你的apsnet帐号必须对web.config拥有写权限
代码如下:
1//节“SysAdminPass”用来存储密码
2
3XmlDocument webconfigDoc = new XmlDocument();
4
5string filePath = HttpContext.Current.Request.PhysicalApplicationPath + @"\web.config";
6
7//设置节的xml路径
8string xPath = "/configuration/appSettings/add[@key='?']";
9
10//加载web.config文件
11webconfigDoc.Load(filePath);
12
13//找到要修改的节点
14XmlNode passkey = webconfigDoc.SelectSingleNode(xPath.Replace("?","SysAdminPass"));
15
16//设置节点的值
17passkey.Attributes["value"].InnerText = strNewpwd;
18
19//保存设置
20webconfigDoc.Save(filePath);
21
2
3XmlDocument webconfigDoc = new XmlDocument();
4
5string filePath = HttpContext.Current.Request.PhysicalApplicationPath + @"\web.config";
6
7//设置节的xml路径
8string xPath = "/configuration/appSettings/add[@key='?']";
9
10//加载web.config文件
11webconfigDoc.Load(filePath);
12
13//找到要修改的节点
14XmlNode passkey = webconfigDoc.SelectSingleNode(xPath.Replace("?","SysAdminPass"));
15
16//设置节点的值
17passkey.Attributes["value"].InnerText = strNewpwd;
18
19//保存设置
20webconfigDoc.Save(filePath);
21