01添加xml节点

   private void AddXml(string image, string title)   
   {  
       XmlDocument xmlDoc = new XmlDocument();  
       xmlDoc.Load(Server.MapPath("../flash/dati.xml"));  
       XmlNode root = xmlDoc.SelectSingleNode("images");//查找<images>  
       XmlElement xe1 = xmlDoc.CreateElement("thumb");//创建一个<thumb>节点  
       xe1.SetAttribute("displayNum", "6");//设置该节点displayNum属性  
       xe1.SetAttribute("separation", "5");//设置该节点separation属性  
       XmlElement xesub1 = xmlDoc.CreateElement("image");  
       xesub1.InnerText = image;//设置文本节点  
       xe1.AppendChild(xesub1);//添加到thumb节点中  
       XmlElement xesub2 = xmlDoc.CreateElement("description");  
       xesub2.InnerText = title;  
       xe1.AppendChild(xesub2);  
       root.AppendChild(xe1);//添加到<images>节点中  
       xmlDoc.Save(Server.MapPath("../flash/dati.xml"));  
   }  

  02删除节点

private void DelXml(string image)  
   {  
       XmlDocument xmlDoc = new XmlDocument();  
       xmlDoc.Load(Server.MapPath("../flash/dati.xml"));  
  
       XmlNodeList xnl = xmlDoc.SelectSingleNode("images").ChildNodes; //查找节点  
         
       foreach (XmlNode xn in xnl)  
       {  
           XmlElement xe = (XmlElement)xn;  
           if (xe.InnerText.IndexOf(image,0) >= 0)  
           {  
               xn.ParentNode.RemoveChild(xn);  
              // xn.RemoveAll();  
           }  
       }  
       xmlDoc.Save(Server.MapPath("../flash/dati.xml"));  
   }  

  03修改节点

foreach(XmlNode xn in nodeList)//遍历所有子节点  
  {  
   XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型  
   if(xe.GetAttribute("genre")=="")// 判读条件  
   {  
    xe.SetAttribute("genre",newStr);//则修改该属性为newstr   
    XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点  
    foreach(XmlNode xn1 in nls)//遍历  
    {  
     XmlElement xe2=(XmlElement)xn1;//转换类型  
     if(xe2.Name=="author")//如果找到 //判读条件  
     {  
      xe2.InnerText=newText;//则修改   
      break;//找到退出来就可以了  
     }  
    }  
    break;  
   }  

  

C#中XML解析的增加修改和删除的更多相关文章

  1. 2016 - 1- 23 iOS中xml解析 (!!!!!!!有坑要解决!!!!!!)

    一: iOS中xml解析的几种方式简介 1.官方原生 NSXMLParser :SAX方式解析,使用起来比较简单 2.第三方框架 libxml2 :纯C 同时支持DOM与SAX GDataXML: D ...

  2. Android中XML解析-Dom解析

    Android中需要解析服务器端传过来的数据,由于XML是与平台无关的特性,被广泛运用于数据通信中,有的时候需要解析xml数据,格式有三种方式,分别是DOM.SAX以及PULL三种方式,本文就简单以D ...

  3. Android中XML解析-SAX解析

    昨天由于时间比较匆忙只写了Android中的XML解析的Dom方式,这种方式比较方便,很容易理解,最大的不足就是内容多的时候,会消耗内存.SAX(Simple API for XML)是一个解析速度快 ...

  4. Android中XML解析-PULL解析

    前面写了两篇XML解析的Dom和SAX方式,Dom比较符合思维方式,SAX事件驱动注重效率,除了这两种方式以外也可以使用Android内置的Pull解析器解析XML文件. Pull解析器的运行方式与 ...

  5. Android中XML解析,保存的三种方法

    简单介绍 在Android开发中,关于XML解析有三种方式,各自是: SAX 基于事件的解析器.解析速度快.占用内存少.非常适合在Android移动设备中使用. DOM 在内存中以树形结构存放,因此检 ...

  6. Dom4J对XML的创建、修改、删除等操作

    Dom4j也可以很方便完成XML文档的创建.元素的修改.文档的查询遍历等,但dom4j稍比jdom复杂一点,不过在大片文档的情况下dom4j的性能要不jdom好. # 准备 首先,提供相关的jar包 ...

  7. xml解析----java中4中xml解析方法(转载)

    转载:https://www.cnblogs.com/longqingyang/p/5577937.html 描述 XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与 ...

  8. Android中XML解析

    package com.example.thebroadproject; public class Book { private int id; private String name; privat ...

  9. cocos2d-x 中XML解析与数据存储

    一不小心就玩了一周的游戏了.哎.玩的时候时间过得总是这么快... 于是今天决定看一下之前不怎么非常熟悉的XML;(之前做游戏时数据的储存用到过XML,但这块是还有一个同事在做,所以不怎么熟悉), 看了 ...

随机推荐

  1. 【grpc】spring boot+grpc的使用

    spring boot+grpc的使用 参考:https://baijiahao.baidu.com/s?id=1573961922096412&wfr=spider&for=pc

  2. Build FTP Server on Windows

    1. Use the self-ftp component service with windows control panel / program / start or close windows ...

  3. SilverLight:基础控件使用(3)-DataGrid控件

    ylbtech-SilverLight-Basic-Control:基础控件使用(3)-DataGrid控件 DataGrid控件-后台绑定 自动生成表列 不自动生成表列 1.A,返回顶部Person ...

  4. 20. Spring Boot Servlet【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/52069482 Web开发使用 Controller 基本上可以完成大部分需求,但是我们还可 ...

  5. cucumber 使用资料

    1.cucumber reporting github:https://github.com/damianszczepanik/cucumber-reporting 配置:详细参考上述地址描述 a.添 ...

  6. class文件结构浅析(2)

    欢迎转载,转载需声明出处 ------------------ 请先看上一篇:Class类文件结构浅析 上一篇讲的都是理论.以下我们亲自实践一下. 首先编写一个简单的java类: public cla ...

  7. python的多线程问题

    在对文件进行预处理的时候,由于有的文件有太大,处理很慢,用python处理是先分割文件,然后每个文件起一个线程处理,启了10个线程,结果还比不起线程慢一些,改成多进程之后就好了. 使用multipro ...

  8. 晶振及COMS电路

    COMS电路:http://www.docin.com/p-246885507.html 简介:无源晶振和有源晶振 电子线路中的晶体振荡器也分为无源晶振和有源晶振两种类型.无源晶振与有源晶振的英文名称 ...

  9. 用户'sa'登录失败(错误18456)解决方案图解

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://thenear.blog.51cto.com/4686262/865544 htt ...

  10. idea刷新项目、清除项目缓存

    点击File -> Invalidate caches ,点击之后在弹出框中点击确认,之后软件就自动重启了