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

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

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

(1)WebForm1.aspx页面代码

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

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="读写xml文件.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="写入" OnClick="Button1_Click" />
<asp:Button ID="write" runat="server" Text="读取" OnClick="write_Click" />
</div>
<asp:Label ID="Label1" runat="server"></asp:Label>
</form>
</body>
</html>

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml; namespace 读写xml文件
{
public partial class WebForm1 : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e)
{ } protected void Button1_Click(object sender, EventArgs e)
{ //写入xml
//写入xml的路径
string path = Server.MapPath("XMLFile1.xml");
//创建文件格式对象
XmlTextWriter xml = new XmlTextWriter(path, System.Text.Encoding.UTF8);
xml.WriteStartDocument();//调用WriteStartDocument()方法来开始写入XML文档 xml.WriteStartElement("最美评比"); //写根节点 xml.WriteStartElement("student");//写子节点
xml.WriteStartElement("张三");//写字节点
xml.WriteAttributeString("color", "red");//给节点添加属性(好像无用)
xml.WriteString("姓名:张三");
xml.WriteString("<br />备注:I'm a boy"); //给节点内部添加文本
xml.WriteEndElement();//关闭字节点
xml.WriteEndElement();//关闭子节点 xml.WriteStartElement("student");
//通过WriteElementString可以添加一个字节点同时添加节点内容
xml.WriteElementString("姓名", "貂蝉");
xml.WriteElementString("备注", "I'm a gril");
xml.WriteEndElement(); xml.WriteStartElement("student");
xml.WriteElementString("姓名", "吕布");
xml.WriteElementString("备注", "I'm a MR");
xml.WriteEndElement(); //相比上方先建节点,在添加节点内容,这种方法更简便
xml.WriteStartElement("student");
xml.WriteElementString("stuNO", "");
xml.WriteElementString("stuName", "cv");
//student标签的关闭标签
xml.WriteEndElement(); xml.WriteEndElement();//关闭根节点
xml.Flush();//刷新流
xml.Close();//关闭流
} protected void write_Click(object sender, EventArgs e)
{//读取
string path = Server.MapPath("XMLFile1.xml");//读取路径
//创建文件格式对象
XmlTextReader xml = new XmlTextReader(path);//调用路径
int index = ;//索引值学生
int a = ;
while (xml.Read())
{
if (xml.NodeType == XmlNodeType.Element)
{
if (xml.Name == "student")
{
this.Label1.Text += "学生 " + index + " 信息如下:<br />";
index++;
}
if (xml.Name == "stuNO")
{
this.Label1.Text += "学号:" + xml.ReadElementString() + "<br />";
}
if (xml.Name == "stuName")
{
this.Label1.Text += "姓名:" + xml.ReadElementString() + "<br />";
}
if (xml.Name == "姓名")
{
this.Label1.Text += "姓名:" + xml.ReadElementString() + "<br />"; }
if (xml.Name == "备注")//括号里为节点名
{
this.Label1.Text += "备注:" + xml.ReadElementString() + "<br />"; }
if (xml.Name == "张三")//括号里为节点名
{
this.Label1.Text += "" + xml.ReadElementString() + "<br />"; } } }
}
}
}

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

(3)XMLFile1.xml

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

(4)运行程序

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

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

点击是,更新xml里的数据

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

 <?xml version="1.0" encoding="utf-8"?>
<最美评比>
<student>
<张三 color="red">姓名:张三&lt;br /&gt;备注:I'm a boy</张三>
</student>
<student>
<姓名>貂蝉</姓名>
<备注>I'm a gril</备注>
</student>
<student>
<姓名>吕布</姓名>
<备注>I'm a MR</备注>
</student>
<student>
<stuNO></stuNO>
<stuName>cv</stuName>
</student>
</最美评比>

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

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. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_引用类型和值类型(二)

    [引用类型和值类型的区别] //引用类型(由于使用了‘class’) class SomeRef { public Int32 x; } //值类型(由于使用了‘struct’) struct Som ...

  2. DJ 算法的队列优先优化

    DJ算法就是求单源最短路的算法,但是时间复杂度不太理想,所以在此献上用最小堆来优化的算法. 如果不懂优先队列可以先去看STL分类关于优先队列的介绍: ///POJ 2387为例 #include< ...

  3. eclipse.ini X64 Oxygen.2 Release (4.7.2) lombok

    X64 Eclipse Java EE IDE for Web Developers. Version: Oxygen.2 Release (4.7.2)Build id: 20171218-0600 ...

  4. my22_mydumper 使用总结

    1. mydumper 的安装依赖于mysql软件,要使用mydumper 则服务器上必须先安装mysql 2. mydumper 安装时会使用mysql软件的动态链接库文件,如果服务器上mysql版 ...

  5. hadoop - hbase 单机版的安装部署

    1. 下载安装包. http://www.apache.org/dyn/closer.lua/hbase/ 选择版本,单机进入以下页面 2. tar xfz hbase-1.2.6-bin.tar.g ...

  6. Webstrom 中写Vue没有代码提示如何解决?

    1. 如果你的Webstorm是2017版的,请更新到最新的2018,2018版本的webstorm自带了vue插件 找到 Help > About,查看你的Webstorm版本 2. 如果你的 ...

  7. webstorm中.vue报错(es6语法报错)-转

    1.webstorm中es6语法报错,解决方法: 打开 Settings => Languages & Frameworks => Javascript把 Javascript L ...

  8. JavaSE---对象序列化

    1.对象序列化机制 允许把内存中的Java对象转换成平台无关的二进制流,从而可以将二进制流持久保存到磁盘 或 在网络中直接传输: (目的:使得对象可以脱离程序的运行而独立存在) package com ...

  9. SparseArray替代HashMap来提高性能

    SparseArray是 Android框架独有的类,在标准的JDK中不存在这个类.它要比 HashMap 节省内存,某些情况下比HashMap性能更好,按照官方问答的解释,主要是因为SparseAr ...

  10. 关于C语言读取文件时候多读一行

    梗概:为什么C语言读取文件到结构体时为什么整天多读一行?一切都是[!feof(fp)]的错!!! while (!feof(fp)) { fgets(buffer, , fp); j++; } 像这样 ...