using System.Xml;
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 MyXmlDemo
... {
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
...{
protected System.Web.UI.WebControls.Label lbl;
protected System.Web.UI.WebControls.Label lblOuter;
protected System.Web.UI.WebControls.Button btnModify;
protected System.Web.UI.WebControls.Button btnLoad;
private void Page_Load(object sender, System.EventArgs e)
...{
// 在此处放置用户代码以初始化页面
}
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
...{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
...{
this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
this.btnModify.Click += new System.EventHandler(this.btnModify_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnLoad_Click(object sender, System.EventArgs e)
...{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("test.xml"));
//lbl.Text=Server.HtmlEncode(xmlDoc.InnerXml);
XmlNode nodeX=xmlDoc.DocumentElement;
lbl.Text=Server.HtmlEncode(nodeX.InnerXml);
lblOuter.Text=Server.HtmlEncode(nodeX.OuterXml);
foreach(XmlNode n in nodeX.ChildNodes[0].ChildNodes)
...{
Response.Write(n.InnerText + "<br>");
}
}
private void btnModify_Click(object sender, System.EventArgs e)
...{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("test.xml"));
XmlElement ele=xmlDoc.CreateElement("students");
XmlAttribute attr=xmlDoc.CreateAttribute("id");
attr.Value="1003";
ele.Attributes.Append(attr);
XmlElement eleName=xmlDoc.CreateElement("name");
eleName.InnerText="tom";
ele.AppendChild(eleName);
XmlElement eleAge=xmlDoc.CreateElement("age");
eleAge.InnerText="30";
ele.AppendChild(eleAge);
XmlElement eleGender=xmlDoc.CreateElement("gender");
eleGender.InnerText="男";
ele.AppendChild(eleGender);
xmlDoc.DocumentElement.AppendChild(ele);
xmlDoc.Save(Server.MapPath("test.xml"));
}
}
}
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 MyXmlDemo
... {
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
...{
protected System.Web.UI.WebControls.Label lbl;
protected System.Web.UI.WebControls.Label lblOuter;
protected System.Web.UI.WebControls.Button btnModify;
protected System.Web.UI.WebControls.Button btnLoad;
private void Page_Load(object sender, System.EventArgs e)
...{
// 在此处放置用户代码以初始化页面
}
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
...{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
...{
this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click);
this.btnModify.Click += new System.EventHandler(this.btnModify_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btnLoad_Click(object sender, System.EventArgs e)
...{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("test.xml"));
//lbl.Text=Server.HtmlEncode(xmlDoc.InnerXml);
XmlNode nodeX=xmlDoc.DocumentElement;
lbl.Text=Server.HtmlEncode(nodeX.InnerXml);
lblOuter.Text=Server.HtmlEncode(nodeX.OuterXml);
foreach(XmlNode n in nodeX.ChildNodes[0].ChildNodes)
...{
Response.Write(n.InnerText + "<br>");
}
}
private void btnModify_Click(object sender, System.EventArgs e)
...{
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("test.xml"));
XmlElement ele=xmlDoc.CreateElement("students");
XmlAttribute attr=xmlDoc.CreateAttribute("id");
attr.Value="1003";
ele.Attributes.Append(attr);
XmlElement eleName=xmlDoc.CreateElement("name");
eleName.InnerText="tom";
ele.AppendChild(eleName);
XmlElement eleAge=xmlDoc.CreateElement("age");
eleAge.InnerText="30";
ele.AppendChild(eleAge);
XmlElement eleGender=xmlDoc.CreateElement("gender");
eleGender.InnerText="男";
ele.AppendChild(eleGender);
xmlDoc.DocumentElement.AppendChild(ele);
xmlDoc.Save(Server.MapPath("test.xml"));
}
}
}
2 XPath
private
void
btnOK_Click(
object
sender, System.EventArgs e)
... {
if(ddlCustomErrors.SelectedIndex==0) return;
bool isExist=false;
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("Web.config"));
// foreach(XmlNode n in xmlDoc.DocumentElement)
// {
// if(n.Name=="system.web")
// {
// foreach(XmlNode nodX in n.ChildNodes)
// {
// if(nodX.Name=="customErrors")
// {
// nodX.Attributes[0].InnerText=ddlCustomErrors.SelectedItem.Value;
// isExist=true;
// break;
// }
// }
// if(!isExist)
// {
// XmlElement ele=xmlDoc.CreateElement("customErrors");
// XmlAttribute attr=xmlDoc.CreateAttribute("mode");
// attr.Value=ddlCustomErrors.SelectedItem.Value;
// ele.Attributes.Append(attr);
// n.AppendChild(ele);
// }
// break;
// }
// }
XmlNode nodeCustomerErrors=xmlDoc.SelectSingleNode("//customErrors");
if(nodeCustomerErrors!=null)
...{
nodeCustomerErrors.Attributes[0].InnerText=ddlCustomErrors.SelectedItem.Value;
}
else
...{
nodeCustomerErrors=xmlDoc.CreateElement("customErrors");
XmlAttribute attr=xmlDoc.CreateAttribute("mode");
attr.Value=ddlCustomErrors.SelectedItem.Value;
nodeCustomerErrors.Attributes.Append(attr);
xmlDoc.SelectSingleNode("//system.web").AppendChild(nodeCustomerErrors);
}
xmlDoc.Save(Server.MapPath("web.config"));
}
... {
if(ddlCustomErrors.SelectedIndex==0) return;
bool isExist=false;
XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("Web.config"));
// foreach(XmlNode n in xmlDoc.DocumentElement)
// {
// if(n.Name=="system.web")
// {
// foreach(XmlNode nodX in n.ChildNodes)
// {
// if(nodX.Name=="customErrors")
// {
// nodX.Attributes[0].InnerText=ddlCustomErrors.SelectedItem.Value;
// isExist=true;
// break;
// }
// }
// if(!isExist)
// {
// XmlElement ele=xmlDoc.CreateElement("customErrors");
// XmlAttribute attr=xmlDoc.CreateAttribute("mode");
// attr.Value=ddlCustomErrors.SelectedItem.Value;
// ele.Attributes.Append(attr);
// n.AppendChild(ele);
// }
// break;
// }
// }
XmlNode nodeCustomerErrors=xmlDoc.SelectSingleNode("//customErrors");
if(nodeCustomerErrors!=null)
...{
nodeCustomerErrors.Attributes[0].InnerText=ddlCustomErrors.SelectedItem.Value;
}
else
...{
nodeCustomerErrors=xmlDoc.CreateElement("customErrors");
XmlAttribute attr=xmlDoc.CreateAttribute("mode");
attr.Value=ddlCustomErrors.SelectedItem.Value;
nodeCustomerErrors.Attributes.Append(attr);
xmlDoc.SelectSingleNode("//system.web").AppendChild(nodeCustomerErrors);
}
xmlDoc.Save(Server.MapPath("web.config"));
}