C# 操作XML的全过程实例讲述:
C# 操作XML的全过程实例***步:
在项目文件里创建db文件夹,在db文件夹里创建db.xml文档。db.xml结构只包含:﹤Group﹥﹤/Group﹥
C# 操作XML的全过程实例第二步:
新建添加留言和显示留言的两个画面:MessageAdd.aspx和MessageList.aspx。下面是两个页面的 前台和后台源码。
C# 操作XML的全过程实例代码:
- //-----Begin------//
- 1.MessageAdd.aspx
- //C# 操作XML的全过程实例
- ﹤%@ Page language="c#" Codebehind="MessageAdd.aspx.cs"
- AutoEventWireup="false" Inherits="XMLGuest.MessageAdd" %﹥
- ﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ﹥
- ﹤HTML﹥
- ﹤HEAD﹥
- ﹤title﹥MessageAdd﹤/title﹥
- ﹤meta content="Microsoft Visual Studio 7.0" name="GENERATOR"﹥
- ﹤meta content="C#" name="CODE_LANGUAGE"﹥
- ﹤meta content="JavaScript" name="vs_defaultClientScript"﹥
- ﹤meta content="http://schemas.microsoft.com/intellisense/ie5"
- name="vs_targetSchema"﹥
- ﹤style﹥.Txt1 {
- FONT-SIZE: 12px
- }
- ﹤/style﹥
- ﹤/HEAD﹥
- ﹤body﹥
- ﹤form id="MessageAdd" method="post" runat="server"﹥
- ﹤FONT face="宋体"﹥
- ﹤P﹥ ﹤/P﹥
- ﹤P align="center"﹥
- ﹤TABLE class="Txt1" id="Table1" cellSpacing="1"
- cellPadding="4" width="749" bgColor="#efefef"
- border="0"﹥
- ﹤TR﹥
- ﹤TD bgColor="#e8dabd"﹥您的大名﹤/TD﹥
- ﹤TD style="WIDTH: 508px" bgColor="#ffffff"﹥
- ﹤asp:textbox id="TextBoxUName" runat="server"
- LeaveSQL="False" LeaveFormat="False" HtmlEncode="False"
- Width="519px" MaxLength="10" CssClass=
- "TextAreaClass"﹥﹤/asp:textbox﹥﹤/TD﹥
- ﹤TD bgColor="#ffffff" colSpan="1" rowSpan="1"﹥﹤/TD﹥
- ﹤/TR﹥
- ﹤TR﹥
- ﹤TD bgColor="#e8dabd" colSpan="1"
- rowSpan="1"﹥E-Mail﹤/TD﹥
- ﹤TD style="WIDTH: 505px" bgColor="#ffffff"﹥
- ﹤P﹥﹤asp:textbox id="TextBoxMail" runat="server"
- LeaveSQL="False" LeaveFormat="False" HtmlEncode="False"
- Width="519px" MaxLength="30" CssClass="TextAreaClass"﹥
- ﹤/asp:textbox﹥﹤/P﹥
- ﹤/TD﹥
- ﹤TD bgColor="#ffffff" colSpan="1" rowSpan="1"﹥
- ﹤BR﹥ //C# 操作XML的全过程实例
- ﹤/TD﹥
- ﹤/TR﹥
- ﹤TR﹥
- ﹤TD bgColor="#e8dabd" colSpan="1"
- rowSpan="1"﹥内容﹤/TD﹥
- ﹤TD style="WIDTH: 505px" bgColor="#ffffff"﹥
- ﹤P﹥﹤asp:textbox id="TextBoxTxt" runat="server"
- LeaveSQL="False" LeaveFormat="True" HtmlEncode="False"
- Width="519px" TextMode="MultiLine"
- Height="160px"﹥﹤/asp:textbox﹥﹤/P﹥
- ﹤/TD﹥
- ﹤TD bgColor="#ffffff" colSpan="1" rowSpan="1"﹥﹤/TD﹥
- ﹤/TR﹥
- ﹤/TABLE﹥
- ﹤/P﹥
- ﹤P align="center"﹥
- ﹤asp:button id="Button1" runat="server"
- CssClass="TextAreaClass" Text=" 提交 "﹥
- ﹤/asp:button﹥
- ﹤INPUT class="TextAreaClass"
- onclick="window.location.replace('MessageList.aspx')"
- type="button"
- value=" 返回 "﹥﹤/P﹥
- ﹤/FONT﹥
- ﹤/form﹥
- ﹤/body﹥
- ﹤/HTML﹥
- MessageAdd.cs
- //C# 操作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 XMLGuest
- {
- /// ﹤summary﹥
- /// MessageAdd 的摘要说明。
- /// ﹤/summary﹥
- public class MessageAdd : System.Web.UI.Page
- {
- protected System.Web.UI.WebControls.TextBox TextBoxUName;
- protected System.Web.UI.WebControls.TextBox TextBoxMail;
- protected System.Web.UI.WebControls.TextBox TextBoxTxt;
- protected System.Web.UI.WebControls.Button Button1;
- private void Page_Load(object sender, System.EventArgs e)
- {
- //C# 操作XML的全过程实例
- }
- #region Web Form Designer generated code
- override protected void OnInit(EventArgs e)
- {
- //
- // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
- //
- InitializeComponent();
- base.OnInit(e);
- }
- /// ﹤summary﹥
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// ﹤/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)
- { //C# 操作XML的全过程实例
- XmlDocument doc = new XmlDocument();
- doc.Load(MapPath("db\\db.xml"));
- XmlNode node = doc.CreateElement("Item");
- XmlAttribute xmlattr = doc.CreateAttribute("UserName");
- xmlattr.Value = XmlConvert.DecodeName(TextBoxUName.Text);
- node.Attributes.Append(xmlattr);
- xmlattr = doc.CreateAttribute("UserEmail");
- xmlattr.Value = XmlConvert.DecodeName(TextBoxMail.Text);
- node.Attributes.Append(xmlattr);
- xmlattr = doc.CreateAttribute("Content");
- xmlattr.Value = XmlConvert.DecodeName(TextBoxTxt.Text);
- node.Attributes.Append(xmlattr);
- xmlattr = doc.CreateAttribute("SendTime");
- xmlattr.Value = XmlConvert.DecodeName(DateTime.Now.ToString());
- node.Attributes.Append(xmlattr);
- doc.ChildNodes[0].AppendChild(node);
- doc.Save(MapPath("db\\db.xml"));
- Response.Redirect("MessageList.aspx");
- }
- } //C# 操作XML的全过程实例
- }
- 2.MessageList.aspx
- ﹤%@ Page language="c#" Codebehind="MessageList.aspx.cs"
- AutoEventWireup="false" Inherits="XMLGuest.MessageList" %﹥
- ﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ﹥
- ﹤HTML﹥
- ﹤HEAD﹥
- ﹤title﹥MessageList﹤/title﹥
- ﹤meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"﹥
- ﹤meta name="CODE_LANGUAGE" Content="C#"﹥
- ﹤meta name="vs_defaultClientScript" content="JavaScript"﹥
- ﹤meta name="vs_targetSchema"
- content="http://schemas.microsoft.com/intellisense/ie5"﹥
- ﹤style﹥
- .body { FONT-SIZE: 12px }
- .td1 { FONT-SIZE: 12px }
- ﹤/style﹥
- ﹤/HEAD﹥ //C# 操作XML的全过程实例
- ﹤body class="body"﹥
- ﹤form id="MessageList" method="post" runat="server"﹥
- ﹤P align="right"﹥
- ﹤asp:HyperLink id="GrowHyperLink1" runat="server"
- Text="[留言]" NavigateUrl="MessageAdd.aspx"﹥﹤/asp:HyperLink﹥
- ﹤/P﹥
- ﹤P align="center"﹥﹤FONT face="宋体"﹥﹤/FONT﹥
- ﹤FONT face="宋体"﹥﹤/FONT﹥﹤BR﹥
- ﹤asp:DataGrid id="DataList1" runat="server"
- AutoGenerateColumns="False" ShowHeader="False" PageSize="15"
- BorderStyle="None" BorderWidth="0px" CellPadding="4" Font-Size="12px"﹥
- ﹤Columns﹥
- ﹤asp:TemplateColumn﹥
- ﹤ItemTemplate﹥
- ﹤TABLE id="Table7" borderColor="#efefef" cellSpacing="0"
- cellPadding="4" width="749" bgColor="#efefef"
- border="1"﹥
- ﹤TR class="td1" bgColor="#fafafa"﹥
- ﹤TD style="WIDTH: 200px" bgColor="#ffffff"﹥
- ﹤STRONG﹥姓名:﹤/STRONG﹥
- ﹤asp:Label id=Label5 runat="server" Text='
- ﹤%# DataBinder.Eval(Container, "DataItem.UserName").ToString() %﹥'﹥
- ﹤/asp:Label﹥
- ﹤/TD﹥
- ﹤TD style="WIDTH: 150px" bgColor="#ffffff"﹥
- ﹤STRONG﹥﹤FONT face="宋体"﹥时间﹤/FONT﹥
- ﹤/STRONG﹥
- ﹤STRONG﹥﹤FONT face="宋体"﹥:﹤/FONT﹥
- ﹤/STRONG﹥
- ﹤asp:Label id=Label4 runat="server" Text='
- ﹤%# DataBinder.Eval(Container, "DataItem.SendTime").ToString() %﹥'﹥
- ﹤/asp:Label﹥﹤/TD﹥
- ﹤TD bgColor="#ffffff"﹥﹤STRONG﹥E-Mail﹤/STRONG﹥
- ﹤STRONG﹥:
- ﹤asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='
- ﹤%# "mailto:"+DataBinder.Eval(Container, "DataItem.UserEmail").
- ToString() %﹥' Text='﹤%# DataBinder.Eval(Container,
- "DataItem.UserEmail").ToString() %﹥'﹥
- ﹤/asp:HyperLink﹥﹤/STRONG﹥﹤/TD﹥
- ﹤/TR﹥
- ﹤TR class="td1"﹥
- ﹤TD bgColor="#ffffff" colSpan="3"﹥
- ﹤asp:Label id=Label1 runat="server" Text='
- ﹤%# DataBinder.Eval(Container, "DataItem.Content").ToString() %﹥'﹥
- ﹤/asp:Label﹥﹤/TD﹥
- ﹤/TR﹥
- ﹤/TABLE﹥
- ﹤/ItemTemplate﹥
- ﹤/asp:TemplateColumn﹥
- ﹤/Columns﹥
- ﹤PagerStyle Visible="False"﹥
- ﹤/PagerStyle﹥
- ﹤/asp:DataGrid﹥
- ﹤/P﹥
- ﹤/form﹥
- ﹤/body﹥
- ﹤/HTML﹥
- //C# 操作XML的全过程实例
- MessageList.cs
- 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.IO;
- using System.Xml;
- namespace XMLGuest
- { //C# 操作XML的全过程实例
- /// ﹤summary﹥
- /// MessageList 的摘要说明。
- /// ﹤/summary﹥
- public class MessageList : System.Web.UI.Page
- {
- protected HyperLink GrowHyperLink1;
- protected System.Web.UI.WebControls.DataGrid DataList1;
- private void Page_Load(object sender, System.EventArgs e)
- {
- FileStream stream = new FileStream(
- Server.MapPath("db\\db.xml"),FileMode.Open);
- try
- {
- XmlDataDocument doc = new XmlDataDocument();
- doc.DataSet.ReadXml(new StreamReader(stream));
- if(doc.DataSet.Tables.Count != 0 && doc.DataSet.Tables[0].Rows.Count!=0)
- {
- DataList1.DataSource = doc.DataSet.Tables[0].DefaultView ;
- DataList1.DataBind();
- }
- stream.Close();
- }
- catch(Exception ding)
- {
- Response.Write(ding.Message);
- }
- finally
- {
- stream.Close();
- }
- }
- #region Web Form Designer generated code
- override protected void OnInit(EventArgs e)
- {
- //
- // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
- //
- InitializeComponent();
- base.OnInit(e);
- }
- //C# 操作XML的全过程实例
- /// ﹤summary﹥
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// ﹤/summary﹥
- private void InitializeComponent()
- {
- this.Load += new System.EventHandler(this.Page_Load);
- }
- #endregion
- }
- }
- //---End----//
C# 操作XML的全过程实例的基本内容就向你介绍到这里,希望对你了解和学习C# 操作XML有所帮助。
【编辑推荐】
- C# 操作Excel基础实例浅析
- C# 操作Excel之读取Excel操作浅析
- C# 操作Excel之写入Excel操作浅析
- C# 操作XML之建立Xml对象浅析
- C# 操作XML之读取Xml浅析