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. Qt 学习之路 2(3):Hello, world!

     豆子  2012年8月22日  Qt 学习之路 2  107条评论 想要学习 Qt 开发,首先要搭建 Qt 开发环境.好在现在搭建 Qt 开发环境还是比较简单的.我们可以到 Qt 官方网站找到最新版 ...

  2. [Ruby]转载: 关于ruby中 %Q, %q, %W, %w, %x, %r, %s 的用法

    单引号内的内容,ruby会原样输出 双引号内的内容,ruby会解析 我们看个简单的例子,针对字符串      #{foo}test     我们分别用单引号核双引号操作 '#{foo}test'   ...

  3. xampp 在 windows下 配置 fcgi... 和 opcache 等 优化操作

    首先 修改 xampp 的 httpd.conf:(底部加入.方便修改) #fast-cgi 模式 LoadModule fcgid_module modules/mod_fcgid.so <I ...

  4. Kibana6.x.x源码开发——执行 yarn start --no-base-path 启动命令后报错

    错误信息如下: Unhandled rejection Error: Request Timeout after 30000ms at /home/kibana_git/kibana6.2.2/nod ...

  5. Luogu P5122 [USACO18DEC]Fine Dining 最短路

    先跑一遍n为起点最短路,再新开一个点,向有干草垛的点连一根边权为d[u]-w的有向边(很重要..我当时连的无向边,然后我死了.),相当于用价值抵消一部分边权, 然后以这个新的点为起点跑最短路就好了.. ...

  6. LeeCode(5. Longest Palindromic Substring)

    Given a string s, find the longest palindromic substring in s. You may assume that the maximum lengt ...

  7. layui的表单功能

    作为一个phper还是非常喜欢这个插件的~虽然在vue的群里面说这个插件好被人怼过..废话不多说, 这次使用到的是layui的表单功能.上次的日历忘记做笔记了非常可惜,大部分其实跟着文档撸就可以,这次 ...

  8. 使用spyder编译器单步调试python

    1.将需要进行单步调试的函数在脚本中进行调用(十分重要的一步).由于python是解释型语言,在进行单步调试的时候需要告诉系统你使用了这个函数,单步调试才会进入你所需要调式的函数.如下图所示,我们定义 ...

  9. 【ACM】阶乘因式分解(二)

    阶乘因式分解(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 给定两个数n,m,其中m是一个素数. 将n(0<=n<=2^31)的阶乘分解质因数,求 ...

  10. 关于WampServer一些配置修改

    1.解决WAMP mysql中文乱码问题(在mysql的my.ini文件中) 1).找到client字段并添加:default-character-set=utf8 2).找到mysql字段并添加: ...