• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

博客园--李朋飞

李朋飞--博客园
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

Asp.net修改配置文件(web.config)

                                                 Asp.net修改配置文件(web.config)
     修改web.config文件appsettings配置节中的add里的value属性2007年11月14日 星期三 上午 10:39这个函数主要使用xmldocument来解析web.config.并用selectsinglenode()方法来定位要修改的配置节。要注意的是最后程序要save(),所以,你的apsnet帐号必须对web.config拥有写权限.
/// <summary>
/// 修改web.config文件appsettings配置节中的add里的value属性
/// </summary>
/// <remarks>
/// 注意,调用该函数后,会使整个web application重启,导致当前所有的会话丢失
/// </remarks>
/// <param name="key">要修改的键key</param>
/// <param name="strvalue">修改后的value</param>
/// <exception cref="">找不到相关的键</exception>
/// <exception cref="">权限不够,无法保存到web.config文件中</exception>
public void Modify(string key, string strvalue)
{
    string xpath = "/configuration/appSettings/add[@key=?]";
      XmlDocument domwebconfig = new XmlDocument();

      domwebconfig.Load(HttpContext.Current.Server.MapPath("/web.config"));
      XmlNode addkey = domwebconfig.SelectSingleNode((xpath.Replace("?", key)));
    if (addkey == null)
      {
        throw new ArgumentException("没有找到<add key=" + key + " value=.../>的配置节");
      }
      addkey.Attributes["value"].InnerText = strvalue;
      domwebconfig.Save(HttpContext.Current.Server.MapPath("/web.config"));
}
//--------------------------------------------------------------------------------------------------//

  private   void   SetConfig(string   name,string   values)  
  {  
  string   filename=this.MapPath(this.TemplateSourceDirectory)   +   @"\web.config";  
  XmlDocument     xmldoc=   new   XmlDocument();  
  xmldoc.Load(filename);  
   
  XmlNodeList   topM=xmldoc.DocumentElement.ChildNodes;  
  IEnumerator   it   =   topM.GetEnumerator();  
  while(it.MoveNext())  
  {  
  XmlElement   element   =(XmlElement)it.Current;  
   
  if(element.Name.ToLower()=="appsettings")  
  {  
  XmlNodeList   _node=element.ChildNodes;  
  if   (   _node.Count   >0   )    
  {  
  foreach(XmlElement   el   in   _node)  
  {  
  if(el.Attributes["key"].InnerXml.Trim()==name)  
  {  
  el.Attributes["value"].Value=values;  
  }  
  }  
  }  
  }  
  }  
  xmldoc.Save(filename);  
  }

select * from titles where title_id like 'BU1%'

 

posted on 2008-04-24 14:38  李朋飞  阅读(1056)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3