ASP.NET写入和读取xml文件
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">姓名:张三<br />备注: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文件的更多相关文章
- 在C#程序中,创建、写入、读取XML文件的方法
一.在C#程序中,创建.写入.读取XML文件的方法 1.创建和读取XML文件的方法,Values为需要写入的值 private void WriteXML(string Values) { //保存的 ...
- 读取xml文件,写入excel
在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: <?xml version="1.0&qu ...
- C#读取xml文件写入到TreeView中
开发过程中我们会遇到一些读取xml文件的时候,下面是我学习的整理. 用XmlDocument读取加载 XmlDocument doc = new XmlDocument(); doc.Load(&qu ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
浅谈JS中的!=.== .!==.===的用法和区别 var num = 1; var str = '1'; var test = 1; test == num //tr ...
- python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- python专题-读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- 【Python实例一】使用minidom读取xml文件
前言:最近刚在廖雪峰老师的网站里学习了Python的基础内容,想着循序渐进地找点实例练练手,网上看到有很多相关资料,决定针对感兴趣的内容实际编码实践一下,昨天刚好看到有关使用Python来读取XML文 ...
- java读取xml文件并转换成对象,并进行修改
1.首先要写工具类,处理读取和写入xml文件使用的工具.XMLUtil.javaimport java.io.FileInputStream; import java.io.FileWriter; i ...
随机推荐
- C语言讲解命令行参数
命令行(command line):是在命令行环境中,用户为运行程序输入命令的行. 命令行参数(command-line argument): 是同一行的附加项. C编译器允许main()没有参数或者 ...
- CSS+jQuery实现轮播
CSS+jQuery实现轮播 CSS jQuery 前端 实现功能: 自动轮播: 鼠标放在上面停止轮播: 鼠标放在上面显示左右切换的按钮: 鼠标放在小圆圈上显示对应的图片: 轮播效果图 style. ...
- Kibana6.x.x源码分析--启动时basePath
每次启动Kibana时,发现URL都会随机的生成三位字母,比如:[http://localhost:5601/abc/][http://localhost:5601/dzf/]等等,那么这些随机的字符 ...
- eclipse中找不到base64包的解决方法
eclipse中找不到base64包的解决方法 2017年08月26日 11:05:26 yzp_leo 阅读数:634 标签: javaeclipsebase64更多 个人分类: 日记 ecli ...
- hive中解析json数组
-- hive中解析json数组 select t1.status ,substr(ss.col,,) as col ,t3.evcId ,t3.evcLicense ,t3.evcAddress , ...
- bios-----> grub
系统有两块硬盘, 第一块安装的win7, 第二块安装ubuntu 默认从sda加载grub 如果在bios页面选择从sdb启动,会找不到grub 进入原来的sda系统, grub-install / ...
- jconsole如何查看
https://www.jdon.com/idea/jvm-gc.html 场景: https://www.cnblogs.com/yszzu/p/9648579.html 查看大对象到底占用多 ...
- 2019.03.19 读书笔记 string与stringbuilder的性能
1 string与stringbuilder 并不是stringbuilder任何时候都在性能上占优势,在少量(大约个位数)的字符串时,并不比普通string操作快. string慢的原因不是stri ...
- spark RDD运算机制
- Dropping Balls UVA - 679(二叉树的遍历)
题目链接:https://vjudge.net/problem/UVA-679 题目大意:t组样例,每组包括D M 层数是D 问第M个小球落在哪个叶子节点? 每个节点有开关 刚开始全都 ...