C# 操作XML的全过程实例浅析

C# 操作XML的全过程实例讲述:

C# 操作XML的全过程实例***步:

在项目文件里创建db文件夹,在db文件夹里创建db.xml文档。db.xml结构只包含:﹤Group﹥﹤/Group﹥

C# 操作XML的全过程实例第二步:

新建添加留言和显示留言的两个画面:MessageAdd.aspx和MessageList.aspx。下面是两个页面的  前台和后台源码。

C# 操作XML的全过程实例代码:

 
 
 
  1. //-----Begin------//  
  2.  
  3. 1.MessageAdd.aspx  
  4.  //C# 操作XML的全过程实例
  5.    
  6. ﹤%@ Page language="c#" Codebehind="MessageAdd.aspx.cs"   
  7. AutoEventWireup="false" Inherits="XMLGuest.MessageAdd" %﹥  
  8. ﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ﹥  
  9. ﹤HTML﹥  
  10.  ﹤HEAD﹥  
  11.   ﹤title﹥MessageAdd﹤/title﹥  
  12.   ﹤meta content="Microsoft Visual Studio 7.0" name="GENERATOR"﹥  
  13.   ﹤meta content="C#" name="CODE_LANGUAGE"﹥  
  14.   ﹤meta content="JavaScript" name="vs_defaultClientScript"﹥  
  15.   ﹤meta content="http://schemas.microsoft.com/intellisense/ie5"   
  16. name="vs_targetSchema"﹥  
  17.   ﹤style﹥.Txt1 {  
  18.  FONT-SIZE: 12px  
  19. }  
  20.   ﹤/style﹥  
  21.  ﹤/HEAD﹥  
  22.  ﹤body﹥  
  23.   ﹤form id="MessageAdd" method="post" runat="server"﹥  
  24.    ﹤FONT face="宋体"﹥  
  25.     ﹤P﹥ ﹤/P﹥  
  26.     ﹤P align="center"﹥  
  27.      ﹤TABLE class="Txt1" id="Table1" cellSpacing="1" 
  28.  cellPadding="4" width="749" bgColor="#efefef" 
  29.       border="0"﹥  
  30.       ﹤TR﹥  
  31.        ﹤TD bgColor="#e8dabd"﹥您的大名﹤/TD﹥  
  32.        ﹤TD style="WIDTH: 508px" bgColor="#ffffff"﹥  
  33. ﹤asp:textbox id="TextBoxUName" runat="server"   
  34. LeaveSQL="False" LeaveFormat="False" HtmlEncode="False" 
  35.          Width="519px" MaxLength="10" CssClass=  
  36. "TextAreaClass"﹥﹤/asp:textbox﹥﹤/TD﹥  
  37.        ﹤TD bgColor="#ffffff" colSpan="1" rowSpan="1"﹥﹤/TD﹥  
  38.       ﹤/TR﹥  
  39.       ﹤TR﹥  
  40.        ﹤TD bgColor="#e8dabd" colSpan="1" 
  41.  rowSpan="1"﹥E-Mail﹤/TD﹥  
  42.        ﹤TD style="WIDTH: 505px" bgColor="#ffffff"﹥  
  43.         ﹤P﹥﹤asp:textbox id="TextBoxMail" runat="server"   
  44. LeaveSQL="False" LeaveFormat="False" HtmlEncode="False" 
  45.           Width="519px" MaxLength="30" CssClass="TextAreaClass"﹥  
  46. ﹤/asp:textbox﹥﹤/P﹥  
  47.        ﹤/TD﹥  
  48.        ﹤TD bgColor="#ffffff" colSpan="1" rowSpan="1"﹥  
  49. ﹤BR﹥  //C# 操作XML的全过程实例
  50.        ﹤/TD﹥  
  51.       ﹤/TR﹥  
  52.       ﹤TR﹥  
  53.        ﹤TD bgColor="#e8dabd" colSpan="1" 
  54.  rowSpan="1"﹥内容﹤/TD﹥  
  55.        ﹤TD style="WIDTH: 505px" bgColor="#ffffff"﹥  
  56.         ﹤P﹥﹤asp:textbox id="TextBoxTxt" runat="server"   
  57. LeaveSQL="False" LeaveFormat="True" HtmlEncode="False" 
  58.           Width="519px" TextMode="MultiLine"   
  59. Height="160px"﹥﹤/asp:textbox﹥﹤/P﹥  
  60.        ﹤/TD﹥  
  61.        ﹤TD bgColor="#ffffff" colSpan="1" rowSpan="1"﹥﹤/TD﹥  
  62.       ﹤/TR﹥  
  63.      ﹤/TABLE﹥  
  64.     ﹤/P﹥  
  65.     ﹤P align="center"﹥  
  66. ﹤asp:button id="Button1" runat="server"   
  67. CssClass="TextAreaClass" Text=" 提交 "﹥  
  68. ﹤/asp:button﹥       
  69.        ﹤INPUT class="TextAreaClass"   
  70. onclick="window.location.replace('MessageList.aspx')"   
  71. type="button" 
  72.       value=" 返回 "﹥﹤/P﹥  
  73.    ﹤/FONT﹥  
  74.   ﹤/form﹥  
  75.  ﹤/body﹥  
  76. ﹤/HTML﹥  
  77.  
  78. MessageAdd.cs  
  79.  //C# 操作XML的全过程实例
  80. using System;  
  81. using System.Collections;  
  82. using System.ComponentModel;  
  83. using System.Data;  
  84. using System.Drawing;  
  85. using System.Web;  
  86. using System.Web.SessionState;  
  87. using System.Web.UI;  
  88. using System.Web.UI.WebControls;  
  89. using System.Web.UI.HtmlControls;  
  90. using System.Xml;  
  91.  
  92. namespace XMLGuest  
  93. {  
  94.  /// ﹤summary﹥  
  95.  /// MessageAdd 的摘要说明。  
  96.  /// ﹤/summary﹥  
  97.  public class MessageAdd : System.Web.UI.Page  
  98.  {  
  99.   protected System.Web.UI.WebControls.TextBox TextBoxUName;  
  100.   protected System.Web.UI.WebControls.TextBox TextBoxMail;  
  101.   protected System.Web.UI.WebControls.TextBox TextBoxTxt;  
  102.   protected System.Web.UI.WebControls.Button Button1;  
  103.    
  104.   private void Page_Load(object sender, System.EventArgs e)  
  105.   {  
  106.      //C# 操作XML的全过程实例
  107.   }  
  108.  
  109.   #region Web Form Designer generated code  
  110.   override protected void OnInit(EventArgs e)  
  111.   {  
  112.    //  
  113.    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。  
  114.    //  
  115.    InitializeComponent();  
  116.    base.OnInit(e);  
  117.   }  
  118.     
  119.   /// ﹤summary﹥  
  120.   /// 设计器支持所需的方法 - 不要使用代码编辑器修改  
  121.   /// 此方法的内容。  
  122.   /// ﹤/summary﹥  
  123.   private void InitializeComponent()  
  124.   {      
  125.    this.Button1.Click += new System.EventHandler(this.Button1_Click);  
  126.    this.Load += new System.EventHandler(this.Page_Load);  
  127.  
  128.   }  
  129.   #endregion  
  130.  
  131.   private void Button1_Click(object sender, System.EventArgs e)  
  132.   {  //C# 操作XML的全过程实例
  133.      
  134.     XmlDocument doc = new XmlDocument();  
  135.     doc.Load(MapPath("db\\db.xml"));  
  136.     XmlNode node = doc.CreateElement("Item");  
  137.        
  138.     XmlAttribute xmlattr = doc.CreateAttribute("UserName");  
  139.     xmlattr.Value = XmlConvert.DecodeName(TextBoxUName.Text);  
  140.     node.Attributes.Append(xmlattr);  
  141.  
  142.     xmlattr = doc.CreateAttribute("UserEmail");  
  143.     xmlattr.Value = XmlConvert.DecodeName(TextBoxMail.Text);  
  144.     node.Attributes.Append(xmlattr);  
  145.  
  146.     xmlattr = doc.CreateAttribute("Content");  
  147.     xmlattr.Value = XmlConvert.DecodeName(TextBoxTxt.Text);  
  148.     node.Attributes.Append(xmlattr);  
  149.  
  150.     xmlattr = doc.CreateAttribute("SendTime");  
  151.     xmlattr.Value = XmlConvert.DecodeName(DateTime.Now.ToString());  
  152.     node.Attributes.Append(xmlattr);  
  153.  
  154.     doc.ChildNodes[0].AppendChild(node);  
  155.     doc.Save(MapPath("db\\db.xml"));  
  156.     Response.Redirect("MessageList.aspx");  
  157.       
  158.   }  
  159.  }  //C# 操作XML的全过程实例
  160. }  
  161.  
  162. 2.MessageList.aspx  
  163.  
  164. ﹤%@ Page language="c#" Codebehind="MessageList.aspx.cs"   
  165. AutoEventWireup="false" Inherits="XMLGuest.MessageList" %﹥  
  166. ﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ﹥  
  167. ﹤HTML﹥  
  168.  ﹤HEAD﹥  
  169.   ﹤title﹥MessageList﹤/title﹥  
  170.   ﹤meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"﹥  
  171.   ﹤meta name="CODE_LANGUAGE" Content="C#"﹥  
  172.   ﹤meta name="vs_defaultClientScript" content="JavaScript"﹥  
  173.   ﹤meta name="vs_targetSchema"   
  174. content="http://schemas.microsoft.com/intellisense/ie5"﹥  
  175.   ﹤style﹥  
  176.   .body { FONT-SIZE: 12px }  
  177.   .td1 { FONT-SIZE: 12px }  
  178.   ﹤/style﹥  
  179.  ﹤/HEAD﹥  //C# 操作XML的全过程实例
  180.  ﹤body class="body"﹥  
  181.   ﹤form id="MessageList" method="post" runat="server"﹥  
  182.    ﹤P align="right"﹥  
  183.     ﹤asp:HyperLink id="GrowHyperLink1" runat="server" 
  184.  Text="[留言]" NavigateUrl="MessageAdd.aspx"﹥﹤/asp:HyperLink﹥  
  185.    ﹤/P﹥  
  186.    ﹤P align="center"﹥﹤FONT face="宋体"﹥﹤/FONT﹥  
  187. ﹤FONT face="宋体"﹥﹤/FONT﹥﹤BR﹥  
  188.     ﹤asp:DataGrid id="DataList1" runat="server"   
  189. AutoGenerateColumns="False" ShowHeader="False" PageSize="15" 
  190.      BorderStyle="None" BorderWidth="0px" CellPadding="4" Font-Size="12px"﹥  
  191.      ﹤Columns﹥  
  192.       ﹤asp:TemplateColumn﹥  
  193.        ﹤ItemTemplate﹥  
  194.         ﹤TABLE id="Table7" borderColor="#efefef" cellSpacing="0" 
  195.  cellPadding="4" width="749" bgColor="#efefef" 
  196.          border="1"﹥  
  197.          ﹤TR class="td1" bgColor="#fafafa"﹥  
  198.           ﹤TD style="WIDTH: 200px" bgColor="#ffffff"﹥  
  199. ﹤STRONG﹥姓名:﹤/STRONG﹥  
  200.            ﹤asp:Label id=Label5 runat="server" Text='  
  201. ﹤%# DataBinder.Eval(Container, "DataItem.UserName").ToString() %﹥'﹥  
  202.            ﹤/asp:Label﹥    
  203.           ﹤/TD﹥  
  204.           ﹤TD style="WIDTH: 150px" bgColor="#ffffff"﹥  
  205. ﹤STRONG﹥﹤FONT face="宋体"﹥时间﹤/FONT﹥  
  206. ﹤/STRONG﹥  
  207. ﹤STRONG﹥﹤FONT face="宋体"﹥:﹤/FONT﹥  
  208. ﹤/STRONG﹥  
  209.            ﹤asp:Label id=Label4 runat="server" Text='  
  210. ﹤%# DataBinder.Eval(Container, "DataItem.SendTime").ToString() %﹥'﹥  
  211.            ﹤/asp:Label﹥﹤/TD﹥  
  212.           ﹤TD bgColor="#ffffff"﹥﹤STRONG﹥E-Mail﹤/STRONG﹥  
  213. ﹤STRONG﹥:  
  214.             ﹤asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='  
  215. ﹤%# "mailto:"+DataBinder.Eval(Container, "DataItem.UserEmail").  
  216. ToString() %﹥' Text='﹤%# DataBinder.Eval(Container,  
  217.  "DataItem.UserEmail").ToString() %﹥'﹥  
  218.             ﹤/asp:HyperLink﹥﹤/STRONG﹥﹤/TD﹥  
  219.          ﹤/TR﹥  
  220.          ﹤TR class="td1"﹥  
  221.           ﹤TD bgColor="#ffffff" colSpan="3"﹥  
  222.            ﹤asp:Label id=Label1 runat="server" Text='  
  223. ﹤%# DataBinder.Eval(Container, "DataItem.Content").ToString() %﹥'﹥  
  224.            ﹤/asp:Label﹥﹤/TD﹥  
  225.          ﹤/TR﹥  
  226.         ﹤/TABLE﹥  
  227.        ﹤/ItemTemplate﹥  
  228.       ﹤/asp:TemplateColumn﹥  
  229.      ﹤/Columns﹥  
  230.      ﹤PagerStyle Visible="False"﹥  
  231. ﹤/PagerStyle﹥  
  232.     ﹤/asp:DataGrid﹥  
  233.    ﹤/P﹥  
  234.   ﹤/form﹥  
  235.  ﹤/body﹥  
  236. ﹤/HTML﹥  
  237.  //C# 操作XML的全过程实例
  238. MessageList.cs  
  239.  
  240. using System;  
  241. using System.Collections;  
  242. using System.ComponentModel;  
  243. using System.Data;  
  244. using System.Drawing;  
  245. using System.Web;  
  246. using System.Web.SessionState;  
  247. using System.Web.UI;  
  248. using System.Web.UI.WebControls;  
  249. using System.Web.UI.HtmlControls;  
  250. using System.IO;  
  251. using System.Xml;  
  252.  
  253. namespace XMLGuest  
  254. {  //C# 操作XML的全过程实例
  255.  /// ﹤summary﹥  
  256.  /// MessageList 的摘要说明。  
  257.  /// ﹤/summary﹥  
  258.  public class MessageList : System.Web.UI.Page  
  259.  {  
  260.   protected HyperLink GrowHyperLink1;  
  261.   protected System.Web.UI.WebControls.DataGrid DataList1;  
  262.    
  263.   private void Page_Load(object sender, System.EventArgs e)  
  264.   {  
  265.    FileStream stream = new FileStream(  
  266. Server.MapPath("db\\db.xml"),FileMode.Open);  
  267.    try 
  268.    {  
  269.     XmlDataDocument doc = new XmlDataDocument();  
  270.     doc.DataSet.ReadXml(new StreamReader(stream));  
  271.     if(doc.DataSet.Tables.Count != 0 && doc.DataSet.Tables[0].Rows.Count!=0)  
  272.     {  
  273.      DataList1.DataSource = doc.DataSet.Tables[0].DefaultView ;  
  274.      DataList1.DataBind();  
  275.     }  
  276.     stream.Close();  
  277.    }  
  278.    catch(Exception ding)  
  279.    {  
  280.     Response.Write(ding.Message);  
  281.    }  
  282.    finally 
  283.    {  
  284.     stream.Close();  
  285.    }  
  286.   }  
  287.  
  288.   #region Web Form Designer generated code  
  289.   override protected void OnInit(EventArgs e)  
  290.   {  
  291.    //  
  292.    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。  
  293.    //  
  294.    InitializeComponent();  
  295.    base.OnInit(e);  
  296.   }  
  297.     //C# 操作XML的全过程实例
  298.   /// ﹤summary﹥  
  299.   /// 设计器支持所需的方法 - 不要使用代码编辑器修改  
  300.   /// 此方法的内容。  
  301.   /// ﹤/summary﹥  
  302.   private void InitializeComponent()  
  303.   {      
  304.    this.Load += new System.EventHandler(this.Page_Load);  
  305.  
  306.   }  
  307.   #endregion  
  308.  }  
  309. }  
  310.  
  311. //---End----// 

C# 操作XML的全过程实例的基本内容就向你介绍到这里,希望对你了解和学习C# 操作XML有所帮助。

【编辑推荐】

  1. C# 操作Excel基础实例浅析
  2. C# 操作Excel之读取Excel操作浅析
  3. C# 操作Excel之写入Excel操作浅析
  4. C# 操作XML之建立Xml对象浅析
  5. C# 操作XML之读取Xml浅析
免责声明:文章内容不代表本站立场,仅供读者参考。产品相关技术问题请发送工单。 本文链接:https://www.idc.net/help/405434/

为您推荐

开源数据收集引擎 Logstash 讲解和示例讲解

一、概述 Logstash 是一个开源的数据收集和日志处理工具,它是 Elastic Stack(ELK Stack)的一部分,用于从各种数据源中采集、转换和传输数据,以帮助分析和可视化大规模数据。Logstash 通常与 Elasticsearch 和 Ki...

八个开源免费单点登录(SSO)系统

单点登录(SSO)是一个登录服务层,通过一次登录访问多个应用。使用SSO服务可以提高多系统使用的用户体验和安全性,用户不必记忆多个密码、不必多次登录浪费时间。 下面推荐一些市场上最好的开源SSO系统,可作为商业SSO替代。 1.Authelia https://github.com/authelia/authelia ...

浅谈HBase数据结构和系统架构

Part 01 LSM树模型 常见的的关系型数据库,如MySQL、SQL Server、Oracle等,使用B+ Tree作为数据存储与索引的基本结构,非叶子节点只存放索引数据,叶子节点存放所有数据和指向相邻节点的指针,具有高效的范围查询和稳定的查找效率,以及具有较小的读放大和空间放大。采用磁盘随机读写方式,且以磁盘数...

微软Radius平台重构现代应用程序部署

微软的 Azure 孵化团队日前推出一个叫 Radius 的新应用平台。Radius 平台可用于在 Kubernetes、公共云和边缘环境中运行各种现代应用程序。 Radius 是一个开源项目,最初支持的应用程序运行时包括Kubernetes、Azure和AWS,以后还会支持诸如谷歌云平台等云环境。 Mark Russ...

Ext JS3.0正式版发布

Ext JS3.0在经历数次RC版之后,extjs.com终于发布3.0的正式版。总体而言,较2.0改进不大,依然还是原理的组件模型,具体更新及改进如下: ◆提供了参照DWR后与后台的通讯包Direct,支持具有明显的REST风格的CRUD服务 ◆一系列的新的组件和例子,包括有图表(Charting, By YUI F...
返回顶部