zoukankan      html  css  js  c++  java
  • C# 添加,修改,删除Xml节点 摘录

    C# 添加,修改,删除Xml节点

    //添加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"));
        }
     
     
       //删除节点内容
        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"));
        }
     
    //修改
    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;
        }
     
     
     

     这里介绍添加XML节点的方法。

           首先定义XML文件:(bookstore.xml)

           <?xml version="1.0" encoding="utf-8"?>

           <bookstore>

                  <book genre="fantasy" ISBN="2-9088-1">

                         <title>Oberon's Legacy</title>

                        <author>Corets,Eva</author>

                        <price>20.8</price>

                  </book>

          </bookstore>

           OK,这就是有一个简单节点的xml文件,它有一个根节点bookstore,其子节点为book,其中book有两个属性genre 和ISBN,每个book节点又三个子节点title,author 和price。

           下面给这个xml文件添加一个book子节点:

           1.引用XML名称空间: Imports System.xml  

           2.定义一个读取xml文件的方法,暂且这么说吧:

                 Dim xmlDoc as New xmlDocument

                 xmlDoc.Load("bookstore.xml")

            3.定义根结点,并找到根据节点名字找到根结点

                Dim root  as  XmlNode =xmlDoc.SelectSingleNode("bookstore")

             4.定义一级子节点,注意根结点与子节点的定义方式不同

               Dim xelement as XmlElement =xmlDoc.CreateElement("book")

               xelement.SetAttribute("genre","comedy")        //给一级子节点添加两个属性

               xelement.SetAttribute("ISBN","2-0875-3")

              5.定义二级子节点。节点的定义方式都是相同的,只是赋值的方式有所差别。这里需要定义三个二阶子节点

              Dim xesub1 as XmlElement =xmlDoc.CreateElement("title")

              xesub1.InnerText ="c#"       //给二级子节点赋值

              xelement.AppendChild(xesub1)        //将这个二阶子节点添加给一级子节点

              Dim xesub2 as XmlElement =xmlDoc.CreateElement("author")

              xesub2.InnerText ="rubby"

              xelement.AppendChild(xesub2)

               Dim xesub3 as XmlElement =xmlDoc.CreateElement("price")

               xesub3.InnerText ="20.8"

               xelement.AppendChild(xesub3)

             6.将子节点添加到根节点中去,并保存该xml文件

               root.AppendChild(xelement)

               xmlDoc.Save("bookstore.xml")

           好了,我们再打开xml文件就会发现,已经新添加了一个book子节点了

  • 相关阅读:
    “TensorFlow 开发者出道计划”全攻略,玩转社区看这里!
    项目章程
    Android 开发环境的搭建(新环境)
    java中八种基本数据类型以及它们的封装类,String类型的一些理解
    一品黄山 天高云淡
    一品黄山 天高云淡
    黄山的日出日落
    宏村,寻找你的前世今生
    宏村,寻找你的前世今生
    git把本地文件上传到github上的步骤
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/4955155.html
Copyright © 2011-2022 走看看