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", "1002");
            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 = 1;//索引值学生
            int a = 1;
            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文件

 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>1002</stuNO>
16     <stuName>cv</stuName>
17   </student>
18 </最美评比>

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

原文地址:https://www.cnblogs.com/kalezhangtao/p/9053882.html

时间: 2024-08-03 04:23:44

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

Asp.Net 读取xml文件中Key的值,并且过滤掉注释内容代码

/// <summary> /// 读取配置文件keys /// </summary> /// <returns></returns> public string _GetKeys() { string filename = Server.MapPath("/") + @"web.config"; XmlDocument xmldoc = new XmlDocument(); XmlReaderSettings set

读取xml文件,写入excel

在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: 1 <?xml version="1.0" encoding="utf-8"?> 2 <orderlist> 3 <order> 4 <customer>姓名1</customer> 5 <phone>123456</phone> 6 <

asp.net简单读取xml文件信息

xml文件格式如下:     <?xml   version="1.0"   encoding="utf-8"?>         <userdata   createuser="false">         <dataconnection>             <server>localhost</server>             <uid>sa</uid

python读取,写入和更新xml文件

VOC数据集的标注文件都是xml格式,最近需要频繁处理xml文件的读取和更新,整理下python处理xml文件的方法. XML 指可扩展标记语言(eXtensible Markup Language), 被设计用来传输和存储数据.python中有三个模块解析xml文件:DOM, ElementTree,SAX 1. DOM(Document Object Model) DOM是个跨平台的标准模型,W3C定义了DOM模型里的概念.DOM将XML数据在内存中解析成一个树,通过对树的操作来操作XML.

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

var num = 1;    var str = '1';    var test = 1;    test == num  //true 相同类型 相同值    test === num //true 相同类型 相同值    test !== num //false test与num类型相同,其值也相同, 非运算肯定是false    num == str  //true 把str转换为数字,检查其是否相等.    num != str  //false == 的 非运算    num ==

python专题-读取xml文件

关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <max

使用Pull解析器生成XML文件和读取xml文件

有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐大家使用Pull解析器. 一.布局界面 [html] view plaincopyprint? <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

C#读取XML文件的基类实现

刚到新单位,学习他们的源代码,代码里读写系统配置文件的XML代码比较老套,直接写在一个系统配置类里,没有进行类的拆分,造成类很庞大,同时,操作XML的读写操作都是使用SetAttribute和node.Attribute(name)方法,因此,想到结合之前所做的XML操作,完成了一个能够读取XML文件的基类,便于以后的使用. PS:即使再老套的代码,目前也不敢进行优化,一是水平不行,二是不敢. 使用静态扩展类,扩展了几个经常使用的类型,能够方便数据的读写. 操作XML的类,可以直接继承BaseL

Excel开发学习笔记:读取xml文件及csv文件

读取xml文件 有好多种读取xml的方式,xmlDOM比较常见,我使用了另外一种,它以数据流的方式打开文件并读取内容 Imports System.Xml  Dim group As New List(Of String)  Using reader As XmlReader = XmlReader.Create(OpenFileDialog2.FileName)      While reader.ReadToFollowing("group")          reader.Mo