读写xml文件
已知有一个XML文件(bookstore.xml)如下:

<?xml version="1.0" encoding="gb2312"?>
<bookstore>  
  <book genre="fantasy" ISBN="2-3631-4">    
    <title>Oberon's Legacy</title>    
    <author>Corets, Eva</author>    
    <price>5.95</price>  
  </book>
</bookstore>
1、往<bookstore>节点中插入一个<book>节,实现代码如下:

protected void btnAddXml_Click(object sender, System.EventArgs e)
    ...{
       XmlDocument xmlDoc = new XmlDocument();
       xmlDoc.Load(Server.MapPath("bookstore.xml")); 
       XmlNode root = xmlDoc.SelectSingleNode("bookstore"); //查找<bookstore>
       XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点
       xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
       xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
       XmlElement xesub1=xmlDoc.CreateElement("title");
       xesub1.InnerText="CS从入门到精通";//设置文本节点
       xe1.AppendChild(xesub1);//添加到<book>节点中
       XmlElement xesub2=xmlDoc.CreateElement("author");
       xesub2.InnerText="候捷";xe1.AppendChild(xesub2);
       XmlElement xesub3=xmlDoc.CreateElement("price");
       xesub3.InnerText="58.3";xe1.AppendChild(xesub3);
       root.AppendChild(xe1);//添加到<bookstore>节点中
       xmlDoc.Save(Server.MapPath("bookstore.xml"));
    }
添加节点后的bookstore.xml如下:

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book genre="李赞红" ISBN="2-3631-4">
    <title>CS从入门到精通</title>
    <author>候捷</author>
    <price>58.3</price>
  </book>
</bookstore>2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点<author>的文本修改为“亚胜”。

protected void btnUpdateXml_Click(object sender, System.EventArgs e)
    ...{
       XmlDocument xmlDoc = new XmlDocument();
       xmlDoc.Load(Server.MapPath("bookstore.xml"));
       XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
       foreach(XmlNode xn in nodeList)//遍历所有子节点
       ...{    XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型   
            if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”    
            ...{        
                xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红”        
                XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点         
                foreach(XmlNode xn1 in nls)//遍历         
                ...{              
                    XmlElement xe2=(XmlElement)xn1;//转换类型              
                    if(xe2.Name=="author")//如果找到              
                    ...{                   
                        xe2.InnerText="亚胜";//则修改                   
                        break;//找到退出来就可以了              
                    }         
                }         
                break;   
            }
       }
        xmlDoc.Save(Server.MapPath("bookstore.xml"));//保存
    }
修改后的结果为:

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="fantasy" ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book genre="update李赞红" ISBN="2-3631-4">
    <title>CS从入门到精通</title>
    <author>亚胜</author>
    <price>58.3</price>
  </book>
</bookstore>3、删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update李赞红" ISBN="2-3631-4">节点。 protected void btnDeleteXml_Click(object sender, System.EventArgs e)
    ...{
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(Server.MapPath("bookstore.xml"));
        XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
       foreach (XmlNode xn in xnl)
       ...{    
           XmlElement xe=(XmlElement)xn;    
           if(xe.GetAttribute("genre")=="fantasy")    
           ...{        
               xe.RemoveAttribute("genre");//删除genre属性    
           }    
           else if(xe.GetAttribute("genre")=="update李赞红")    
           ...{        
               xe.RemoveAll();//删除该节点的全部内容    
           }
       }
       xmlDoc.Save(Server.MapPath("bookstore.xml"));//保存
    }
删除后的结果为:

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book ISBN="2-3631-4">
    <title>Oberon's Legacy</title>
    <author>Corets, Eva</author>
    <price>5.95</price>
  </book>
  <book>
  </book>
</bookstore>本文来自:.Net中文社区(www.aspxcs.net) 详细出处参考:http://www.aspxcs.net/HTML/17185862.html

转载于:https://www.cnblogs.com/opper/archive/2009/09/29/1576255.html

.net读写 更新 删除(操作)xml文件相关推荐

  1. Qt操作XML文件(创建,读,写,修改,添加,删除)

    XML文件在项目开发的过程中经常用的,比如配置文件基本上都是XML格式的,本文介绍在Qt环境下操作XML文件,具体用法看代码 原txt文件内容,在 http://www1.jctrans.com/to ...

  2. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  3. C#实用教程-操作xml文件

    C#实用教程-操作xml文件 C#实用教程-操作xml文件 引言:什么是xml文件 Xml的特征 Xml的格式 与HTML的区别 对Xml进行操作 读取xml文件: 当前xml文件内容如下: 创建xm ...

  4. JAVA操作xml文件

    参考:java操作xml方法,总有适合你的 XML技术在Java开发中的应用 1.简介 xml: extensible Markup Language 1.1使用场景: 不同的系统之间交互时使用xml ...

  5. WEB数据库管理平台kb-dms:数据库查询+更新+删除操作【六】

    数据库查询+更新+删除操作 kb-dms平台为用户提供了命令行窗口执行的功能可以进行查询等操作,还提供了快捷键的方式及在线编辑的功能等. 窗口命令行操作数据库 命令行窗口有表名提示功能及sql关键字提 ...

  6. python文件处理:每隔一定数目删除;文件重命名;删除多余xml文件;将文件夹线所有文件平均分配到其他文件夹

    # -*- coding:utf-8 -*-''' fileName: createTime: modifyTime: description:written by donghao '''import ...

  7. 写了一个操作XML文件的类

    一个操作XML文件的类..部份功能在完善中~~~~ using System; using System.Collections.Generic; using System.Text; using S ...

  8. c#操作XML文件 1614260503

    c#操作XML文件 1614260503 导入命名空间 using System.Xml; 功能演示 // 实例化文件对象XmlDocument xd = new XmlDocument();// 对 ...

  9. c++操作xml文件

    做软件的不会c++,都不好意思说自己是搞软件的.最近也开始慢慢学习c++的东西,今天就写写c++如何操作xml文件吧.我们使用的是tinyxml,有个小巧的库,可以生成和解析XML文档.免费开源,可以 ...

最新文章

  1. Quartz.NET基础知识概述
  2. Java自带的广告怎么删掉_如何屏蔽电脑上的弹窗广告?
  3. linux存储--线程与栈(十五)
  4. Python Selenium + phantomJS 模拟登陆教务管理系统 “抢课”
  5. Kafka参数broker.id详解
  6. sqlalchemy 增删改
  7. Java基础——String类(二)
  8. 你在闲鱼捡过最大的漏是什么?
  9. 阶段3 2.Spring_07.银行转账案例_6 测试转账并分析案例中的问题
  10. leetcode[81]Search in Rotated Sorted Array II
  11. python 繁体字与简体字互相转换
  12. 伺服的电机转矩、功率、转速、电压、电流换算公式
  13. mysql mariadb libs_mysql 安装 【解决】mariadb-libs is obsoleted by *** - Ctrl+CCtrl+V - ITeye博客...
  14. dw html图片居中,dw怎么把整个表格居中 怎么在dw里面把整个网页居中?
  15. 《时代周刊》:投资者为何争相购买虚拟土地?
  16. cdn搭建原理_CDN运行过程四大要点,附技术原理图解,智能DNS解析
  17. 360wifi驱动 linux ap,360wifi驱动
  18. 开篇鸿蒙谁为情种,曹雪芹  红楼梦引子    开辟鸿蒙,谁为情种?都只为风月情浓。 这句话什么意思 只要这句话的解释...
  19. 矿大课表ics文件生成小工具
  20. RN系列之五十三解决Android上图片圆角的终级解决方案

热门文章

  1. UNIX再学习 -- 死磕内存管理
  2. 【译】 Sparky: A Lightning Network in Two Pages of Solidity
  3. Android系统启动流程分析之安装应用
  4. Rxjava+Retrofit+Mvp的使用实例(基于retrofit2.1.0)
  5. epub阅读器_推荐一款Epub(windows版)阅读软件,附下载安装教程
  6. ECCV 2020 《Propagating Over Phrase Relations for One-Stage Visual Grounding》论文笔记
  7. 2017年10月18日普及组 面积最大
  8. linux+卸载+gpm服务,Linux gpm下console中使用鼠标
  9. python selenium webdriver_Python:selenium.webdriver问题(服务器上没有X)
  10. python可以这样学豆瓣_python爬虫学习之路:豆瓣爬虫练习