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. 简约至上.md

    中秋花了一天多时间阅读了简约至上这本书,书中内容不多,主要是向我们传达了产品设计的4个要素,给了产品经理设计产品时的一些要义指导; 一产品定位 在进行产品设计之前,首页需要对这款产品的商业定位需要有个 ...

  2. ios中表示private

    在.m中写成 如下形式既为私有的形式 @interface ViewController ()  这里只是声明类名和括号即可 /////方法等 @end

  3. Python基础语法01

    Python 标识符 在python里,标识符有字母.数字.下划线组成. 在python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. python中的标识符是区分大小写的. 以 ...

  4. 淘宝HSF 框架使用 总结

    @(JAVA开发) 淘宝HSF 框架使用 总结 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分.在拆分之后,各个被拆分的模块如何通信?如何保证性能?如 ...

  5. iOS UI08_tableView省市区字典数组

    北京 1 北京市 1 西城区 1 东城区 2 崇文区 3 宣武区 4 朝阳区 5 丰台区 6 石景山区 7 海淀区 8 门头沟区 9 房山区 10 通州区 11 顺义区 12 昌平区 13 大兴区 1 ...

  6. spring security开发步骤

    1.web.xml中加载spring ,spring security 2.spring security配置文件中配置好.... 3.自己写一个myFilter代替原有的FilterSecurity ...

  7. C++学习总结1

    一.内存管理 一般new 与 delete 同时出现.假如释放一个对象用 delete p即可.多个对象用delet [ ]p  即:new与delete需要搭配好. C++继承了C的许多函数,mal ...

  8. UE-9260使用说明2

    生成镜像 1. U-boot 生成u-boot.bin文件 (1) Makefile ifeq ($(ARCH),arm) CROSS_COMPILE = endif 改动为 ifeq ($(ARCH ...

  9. Linux Kernel Maintainers

    http://en.wikipedia.org/wiki/Ingo_Molnár http://zh.wikipedia.org/wiki/英格·蒙內 Ingo Molnár Ingo Molnár, ...

  10. 服务管理-Nginx

    nginx优势 select,epoll模型 对于一次IO访问(以read举例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间.所以说.当一个read ...