xml是一种可扩展标记语言,在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。

现在演示一下在asp.net里如何操作读写xml文件

1.新建一个web窗体WebForm1.aspx和一个xml文件XMLFile1.xml

(1)WebForm1.aspx页面代码

放置两个按钮,一个用来写入,一个用来读取;和一个lable控件用来显示读取信息

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="读写xml文件.WebForm1" %>
  2.  
  3. <!DOCTYPE html>
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  8. <title></title>
  9. </head>
  10. <body>
  11. <form id="form1" runat="server">
  12. <div>
  13. <asp:Button ID="Button1" runat="server" Text="写入" OnClick="Button1_Click" />
  14. <asp:Button ID="write" runat="server" Text="读取" OnClick="write_Click" />
  15. </div>
  16. <asp:Label ID="Label1" runat="server"></asp:Label>
  17. </form>
  18. </body>
  19. </html>

(2)WebForm1.aspx.cs后台代码

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Xml;
  8.  
  9. namespace 读写xml文件
  10. {
  11. public partial class WebForm1 : System.Web.UI.Page
  12. {
  13.  
  14. protected void Page_Load(object sender, EventArgs e)
  15. {
  16.  
  17. }
  18.  
  19. protected void Button1_Click(object sender, EventArgs e)
  20. { //写入xml
  21. //写入xml的路径
  22. string path = Server.MapPath("XMLFile1.xml");
  23. //创建文件格式对象
  24. XmlTextWriter xml = new XmlTextWriter(path, System.Text.Encoding.UTF8);
  25. xml.WriteStartDocument();//调用WriteStartDocument()方法来开始写入XML文档
  26.  
  27. xml.WriteStartElement("最美评比"); //写根节点
  28.  
  29. xml.WriteStartElement("student");//写子节点
  30. xml.WriteStartElement("张三");//写字节点
  31. xml.WriteAttributeString("color", "red");//给节点添加属性(好像无用)
  32. xml.WriteString("姓名:张三");
  33. xml.WriteString("<br />备注:I'm a boy"); //给节点内部添加文本
  34. xml.WriteEndElement();//关闭字节点
  35. xml.WriteEndElement();//关闭子节点
  36.  
  37. xml.WriteStartElement("student");
  38. //通过WriteElementString可以添加一个字节点同时添加节点内容
  39. xml.WriteElementString("姓名", "貂蝉");
  40. xml.WriteElementString("备注", "I'm a gril");
  41. xml.WriteEndElement();
  42.  
  43. xml.WriteStartElement("student");
  44. xml.WriteElementString("姓名", "吕布");
  45. xml.WriteElementString("备注", "I'm a MR");
  46. xml.WriteEndElement();
  47.  
  48. //相比上方先建节点,在添加节点内容,这种方法更简便
  49. xml.WriteStartElement("student");
  50. xml.WriteElementString("stuNO", "");
  51. xml.WriteElementString("stuName", "cv");
  52. //student标签的关闭标签
  53. xml.WriteEndElement();
  54.  
  55. xml.WriteEndElement();//关闭根节点
  56. xml.Flush();//刷新流
  57. xml.Close();//关闭流
  58. }
  59.  
  60. protected void write_Click(object sender, EventArgs e)
  61. {//读取
  62. string path = Server.MapPath("XMLFile1.xml");//读取路径
  63. //创建文件格式对象
  64. XmlTextReader xml = new XmlTextReader(path);//调用路径
  65. int index = ;//索引值学生
  66. int a = ;
  67. while (xml.Read())
  68. {
  69. if (xml.NodeType == XmlNodeType.Element)
  70. {
  71. if (xml.Name == "student")
  72. {
  73. this.Label1.Text += "学生 " + index + " 信息如下:<br />";
  74. index++;
  75. }
  76. if (xml.Name == "stuNO")
  77. {
  78. this.Label1.Text += "学号:" + xml.ReadElementString() + "<br />";
  79. }
  80. if (xml.Name == "stuName")
  81. {
  82. this.Label1.Text += "姓名:" + xml.ReadElementString() + "<br />";
  83. }
  84. if (xml.Name == "姓名")
  85. {
  86. this.Label1.Text += "姓名:" + xml.ReadElementString() + "<br />";
  87.  
  88. }
  89. if (xml.Name == "备注")//括号里为节点名
  90. {
  91. this.Label1.Text += "备注:" + xml.ReadElementString() + "<br />";
  92.  
  93. }
  94. if (xml.Name == "张三")//括号里为节点名
  95. {
  96. this.Label1.Text += "" + xml.ReadElementString() + "<br />";
  97.  
  98. }
  99.  
  100. }
  101.  
  102. }
  103. }
  104. }
  105. }

值得注意的是,在后台代码里每一个节点的WriteStartElement要对应一个WriteEndElement;层次关系要分明,尽管在你写入的时候没报错,但是在你读取的时候,可能会发生不是你想要的结果

(3)XMLFile1.xml

新建的xml文件除了顶头文件表示,其余都是空白的

(4)运行程序

注意的是:你首先要把数据提交写入到xml文件里,才能读取到数据

点击提交按钮之后,不要急着去点读取按钮,返回程序会有这样一个界面

点击是,更新xml里的数据

以下就是更新之后的XMLFile1.xml文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <最美评比>
  3. <student>
  4. <张三 color="red">姓名:张三&lt;br /&gt;备注:I'm a boy</张三>
  5. </student>
  6. <student>
  7. <姓名>貂蝉</姓名>
  8. <备注>I'm a gril</备注>
  9. </student>
  10. <student>
  11. <姓名>吕布</姓名>
  12. <备注>I'm a MR</备注>
  13. </student>
  14. <student>
  15. <stuNO></stuNO>
  16. <stuName>cv</stuName>
  17. </student>
  18. </最美评比>

关灯之后写完的累趴小编!!

ASP.NET写入和读取xml文件的更多相关文章

  1. 在C#程序中,创建、写入、读取XML文件的方法

    一.在C#程序中,创建.写入.读取XML文件的方法 1.创建和读取XML文件的方法,Values为需要写入的值 private void WriteXML(string Values) { //保存的 ...

  2. 读取xml文件,写入excel

    在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: <?xml version="1.0&qu ...

  3. C#读取xml文件写入到TreeView中

    开发过程中我们会遇到一些读取xml文件的时候,下面是我学习的整理. 用XmlDocument读取加载 XmlDocument doc = new XmlDocument(); doc.Load(&qu ...

  4. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  5. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  6. python读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

  7. python专题-读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

  8. 【Python实例一】使用minidom读取xml文件

    前言:最近刚在廖雪峰老师的网站里学习了Python的基础内容,想着循序渐进地找点实例练练手,网上看到有很多相关资料,决定针对感兴趣的内容实际编码实践一下,昨天刚好看到有关使用Python来读取XML文 ...

  9. java读取xml文件并转换成对象,并进行修改

    1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...

随机推荐

  1. spring自定义 xsd 位置

    与元素类型 "beans" 相关联的属性 "xsi:schemaLocation" 的前缀 "xsi" 未绑定. 解决办法:(绿色字体) & ...

  2. Django 的 model form 组件

    Django 的 model form 组件 Model Form 组件的由来 之前介绍过 Django 的 Form 组件(Django的Form表单)使用方法,Form 组件能够帮我们做三件事: ...

  3. Flask&&人工智能AI --5 Flask-session、WTForms、数据库连接池、Websocket

    未完待续.... DButils 什么是数据库连接池 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库 ...

  4. ButterKnife 8.4注入失败

    1,第一步:项目的gradle中增加 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'buildscript { repositor ...

  5. linux中文件压缩与打包

    一.常见的压缩命令 在linux环境中,压缩文件的扩展名大多是*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,首先我们来介绍以下这些压缩文案的扩展名:. *.Z:compres ...

  6. 第四章 Appium真机运行测试用例讲解

    -----手机自动化之Appium 手机自动化测试用例虽然可以在模拟器上运行,可是模拟器毕竟和真机还是有区别的.在第二章我们讲到了模拟器上运行测试用例后,我又花了两天的时间,研究了一下真机运行测试用例 ...

  7. jquery插件分页

    收藏地址: http://www.jq22.com/yanshi5697

  8. TXT文件导入到ORACLE数据库中

    --创建表 (sqlplus执行) drop table cjw; ),phone ),city ),born ),adressJob ),mail )); ### txt导入到oracle cat ...

  9. java泛型&bean copy list

    参考:https://www.oracle.com/technetwork/cn/articles/java/juneau-generics-2255374-zhs.html E:元素K:键N:数字T ...

  10. ubuntu简单的小命令

    1. gnome-system-monitor,用作調处系统管理窗口,方便结束相关程序. 2. sudo python setup.py install,用作对.py文件的安装,但注意要先cd /ho ...