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"));

  • 相关阅读:
    小程序开发学习记录(一)
    解决移动端touch事件与click冲突的问题
    解决node.js使用fs读取文件出错
    防抖和节流
    promise
    ES6新的特性有哪些?
    css盒模型
    CSS3有哪些新特性?
    ES6新增的数据类型Map和Set。
    js求两个数组的交集|并集|差集|去重
  • 原文地址:https://www.cnblogs.com/chenly-index/p/3273073.html
Copyright © 2011-2022 走看看