zoukankan      html  css  js  c++  java
  • xml 创建 添加节点或属性(自定义,复制)

    创建XML文件 两种方式:

    1、方式一

        private void makeXML()     {    

        xmldoc = new XmlDocument();         //加入XML的声明段落,<?xml version="1.0" encoding="gb2312"?>        

        XmlDeclaration xmldecl;        

        xmldecl = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);        

        xmldoc.AppendChild(xmldecl);//加入一个根元素        

        xmlelem = xmldoc.CreateElement("", "Employees", "");        

        xmldoc.AppendChild(xmlelem);         //加入另外一个元素

        for (int i = 0; i < 2; i++)         {

               XmlNode root = xmldoc.SelectSingleNode("Employees");//查找<Employees>     

               XmlElement xe1 = xmldoc.CreateElement("Node");//创建一个<Node>节点            

               xe1.SetAttribute("genre", "李赞红");//设置该节点genre属性      

               xe1.SetAttribute("ISBN", "2-3631-4");//设置该节点ISBN属性

               XmlElement xesub1 = xmldoc.CreateElement("title");      

              xesub1.InnerText = "CS从入门到精通";//设置文本节点         

              xe1.AppendChild(xesub1);//添加到<Node>节点中       

              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);//添加到<Employees>节点中         }       

             //保存创建好的XML文档      

            xmldoc.Save(Server.MapPath("data.xml"));   

         }

    2、方式二

    private void makeXMl2()     {       

           XmlTextWriter xmlWriter;      

          string strFilename = Server.MapPath("data1.xml");

            xmlWriter = new XmlTextWriter(strFilename, Encoding.Default);//创建一个xml文档

            xmlWriter.Formatting = Formatting.Indented;

            xmlWriter.WriteStartDocument();

            xmlWriter.WriteStartElement("Employees");

            xmlWriter.WriteStartElement("Node");

            xmlWriter.WriteAttributeString("genre", "李赞红");

            xmlWriter.WriteAttributeString("ISBN", "2-3631-4");

            xmlWriter.WriteStartElement("title");

            xmlWriter.WriteString("CS从入门到精通");

            xmlWriter.WriteEndElement();

            xmlWriter.WriteStartElement("author");  

           xmlWriter.WriteString("候捷");

            xmlWriter.WriteEndElement();

            xmlWriter.WriteStartElement("price");

            xmlWriter.WriteString("58.3");

            xmlWriter.WriteEndElement();

            xmlWriter.WriteEndElement();

            xmlWriter.Close();

        }

    添加自节点 文件B获取节点到文件A节点下

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(Server.MapPath("data.xml"));

            XmlNodeList nodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes;//获取Employees节点的所有子节点

            foreach (XmlNode xn in nodeList)

            {

                XmlElement xe = (XmlElement)xn;   

                XmlDocument xmlDoc2 = new XmlDocument();

                xmlDoc2.Load(Server.MapPath("data1.xml"));   

                XmlNode root = xmlDoc2.SelectSingleNode("Employees");//data1.xml查找<Employees>

                XmlNode newBook = xmlDoc.ImportNode(root, true);  //必须要这样的方法 解决了要插入的节点出自不同的文档上下文的问题。 

               xe.AppendChild(newBook);

            }

            xmlDoc.Save(Server.MapPath("data.xml"));

  • 相关阅读:
    minimum-path-sum
    pascals-triangle
    Java -- 二分查找
    redis缓存雪崩,击穿,穿透(copy)
    使用redis限制提交次数
    数据库的悲观锁和乐观锁
    mysql常用命令
    php压缩Zip文件和文件打包下载
    php去除数据库的数据空格
    php获取本年、本月、本周时间戳和日期格式的实例代码(分析)
  • 原文地址:https://www.cnblogs.com/chenly-index/p/3273073.html
Copyright © 2011-2022 走看看