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 ...
随机推荐
- leecode第三题(无重复字符的最长子串)
class Solution { public: int lengthOfLongestSubstring(string s) { int len=s.size(); ||len==)//边界 ret ...
- java 常用操作(保留小数位数、int转string,string转int)
1.保留2位小数 //similarityTemp为double类型,需要保留2位有效数据,利用String.format String strTemp=String.format("%.2 ...
- PowerShell命令部署WSP
转载:http://www.cnblogs.com/ChunLiangZhang/archive/2012/07/18/2597335.html(作者:ChunLiang) 现在可以用SharePoi ...
- java算法外传之靠工资多久能实现小目标...
public static void main(String[] args) { //小目标 final int smallGoal=100_000_000; //月份 int month=1; // ...
- Flask&&人工智能AI -- 8 HTML5+ 初识,HBuilder,夜神模拟器,Webview
昨日内容回顾 1.增删改查: 增: db.collections.insert({a:1}) // 官方不推荐了 db.collections.insertMany([{a:1},{b:1}]) in ...
- ubuntu中误删/var/lib/dpkg/info的补救方法
今晚在ubuntu上安装一个软件时,出现这样的错误提示:E: Sub-process /usr/bin/dpkg returned an error code (1)然后在网上找了查找问题原因及解决方 ...
- C语言一些易混淆的概念
①数组指针和指针数组 1. 数组指针用于指向一个数组,数组名是数组首元素的地址(数组名为数组首元素类型且指向首元素的指针,如int array[5] ,array为指向array[0]的指针且类型为i ...
- docker(4)使用Dockerfile文件创建镜像-对docker(3)的改进
在<docker(3)docker下的centos7下安装jdk>中,当进入容器后,执行 java命令 不能运行,需要执行source /etc/profile才能执行.如果采用Docke ...
- Problem05 判断分数等级
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 程序分析:(a>b)?a:b这是条件运算符的基本例子. impo ...
- Dev Express Report 学习总结(二)关于如何使用Grouping分组
对于所有的报表工具来说,基本上所有Grouping功能的都很相似.正如前面说到的,Group处于Page Header和Page Footer之间,同时又将Detail包括与其中. 下面还是通过一个例 ...