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. module has no attribute 'seq2seq'

    tensorflow 中tf.nn.seq2seq.sequence_loss_by_example to tf.contrib.legacy_seq2seq.sequence_loss_by_exa ...

  2. [反汇编练习] 160个CrackMe之035

    [反汇编练习] 160个CrackMe之035. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  3. Ubuntu 安装 spark

    环境: Unbunt 12.04 Hadoop 2.2.x Sprak 0.9 Scala scala-2.9.0.final.tgz 步骤 1. 下载 scala 2. 解压scala,然后改动/e ...

  4. 使用cacheBuilder实现函数防抖

    在接口中出现的相同请求重复且连续发送的情况导致一些业务BUG,需要在接口上实现防抖 使用google的cacheBuilder import com.google.common.cache.Cache ...

  5. Hibernate中的session和load延迟载入矛盾问题,怎样解决?

    假设延迟载入出现session close的情况下 方法1.在web.xml中配置spring的openSessionInViewFilter <filter>  <filter-n ...

  6. myeclipse2014破解

    去年出现的struts2 bug问题,在过去的项目中一直没做调整,前段时间发现受到影响了.本想这个bug都已经这么长时间了,工具中的包应该也已经被替换了吧,于是下载了最新的myeclipse2014, ...

  7. JD笔试试题(凭记忆写的+人生感悟 try finally )

    京东笔试:技术篇(一套卷.包含測试.算法,研发) 一:填空题(4分 * 15) 15 个 涉及的面很广的选择题,可是比較側重基础.包含数据结构的.c++类的,操作系统的,计算机网络的. 二:编程题(2 ...

  8. codeforces 553 D Nudist Beach

    题意大概是.给出一个图,保证每一个点至少有一条边以及随意两点间最多一条边.非常显然这个图有众多点集,若我们给每一个点定义一个权值,那每一个点集都有一个最小权值点,如今要求出一个点集,这个点集的最小权值 ...

  9. 【Access2007】Access2007的打开方式

    Access2007提供了多种打开方式 仅仅读与非仅仅读就不用说了,就是能编辑与不可以编辑的差别 是否以独占的方式打开是Access2007的打开方式的核心 这里什么都没有写的打开是指以"共 ...

  10. Markdown 语法的超快速上手

    本文支持WTFPL协议,因此你想往哪转就往哪转. Why markdown? Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. Ma ...