using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml ;
namespace WebApplication1
...{
/**//// <summary>
/// Summary description for WebForm1.
/// </summary>
public class WebForm1 : System.Web.UI.Page
...{
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Button Button1; 
public WebForm1()
...{
Page.Init += new System.EventHandler(Page_Init);
} 
private void Page_Load(object sender, System.EventArgs e)
...{
if(!Page.IsPostBack)
...{
//打开某文件(假设WEB。CONFIG在根目录中)
string filename=Server.MapPath("/") + @"web.config";
XmlDocument xmldoc= new XmlDocument();
xmldoc.Load(filename);
XmlNodeList topM=xmldoc.DocumentElement.ChildNodes;
foreach(XmlElement element in topM)
...{
if(element.Name.ToLower()=="appsettings")
...{
XmlNodeList _node=element.ChildNodes;
if ( _node.Count >0 )
...{
DropDownList1.Items.Clear();
foreach(XmlElement el in _node)
...{
DropDownList1.Items.Add(el.Attributes["key"].InnerXml);
}
}
}
}
}
}
private void Page_Init(object sender, EventArgs e)
...{
InitializeComponent();
}

Web Form Designer generated code#region Web Form Designer generated code
/**//// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
...{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); 
}
#endregion 
private void Button1_Click(object sender, System.EventArgs e)
...{
string filename=Server.MapPath("/") + @"web.config";
XmlDocument xmldoc= new XmlDocument();
xmldoc.Load(filename); 
XmlNodeList topM=xmldoc.DocumentElement.ChildNodes;
foreach(XmlElement element in topM)
...{
if(element.Name.ToLower()=="appsettings")
...{
XmlNodeList _node=element.ChildNodes;
if ( _node.Count >0 ) 
...{
foreach(XmlElement el in _node)
...{
if(el.Attributes["key"].InnerXml.ToLower()==this.DropDownList1.SelectedItem.Value.ToLower())
...{
el.Attributes["value"].Value=this.TextBox1.Text;
}
}
}
}
}
xmldoc.Save(filename);
}
}
} 
本文介绍了一个使用 C# 在 Web 应用程序中读取和修改 web.config 文件中 appSettings 节点的方法。通过 XmlDocument 类加载配置文件,并利用 XPath 或遍历节点的方式来获取和设置属性值。

被折叠的 条评论
为什么被折叠?



