zoukankan      html  css  js  c++  java
  • XML读写演示程序(2)

     

     

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Diagnostics;
    using System.Xml;
    using System.IO;

    namespace 读写xml
    {
        public partial class Form1 : Form
        {
            String xmlPath = Application.StartupPath + "\\demo.xml";

            XmlDocument xmlDoc = new XmlDocument();
            public Form1()
            {
                InitializeComponent();
            }

            ******* void button2_Click(object sender, EventArgs e)
            {
               
                xmlDoc.Load(xmlPath);
                XmlNode root = xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
                XmlElement xe1 = xmlDoc.CreateElement("book");//创建一个<book>节点
                xe1.SetAttribute("genre", "李赞红");//设置该节点genre属性
                xe1.SetAttribute("ISBN", "2-3631-4");//设置该节点ISBN属性

                XmlElement xesub1 = xmlDoc.CreateElement("title");
                xesub1.InnerText = "CS从入门到精通";//设置文本节点
                xe1.AppendChild(xesub1);//添加到<book>节点中
                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);//添加到<bookstore>节点中
                xmlDoc.Save(xmlPath);
                webBrowser1.Navigate(xmlPath);


            }

            ******* void button3_Click(object sender, EventArgs e)
            {
                File.Copy(Application.StartupPath + "\\demo1.xml", xmlPath,true);
                webBrowser1.Navigate(xmlPath);
            }

            ******* void button4_Click(object sender, EventArgs e)
            {
                //修改节点属性
                xmlDoc.Load(xmlPath);
                XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
                foreach (XmlNode xn in nodeList)//遍历所有子节点
                {
                    XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                    if (xe.GetAttribute("genre") == "李赞红")//如果genre属性值为“李赞红”
                    {
                        xe.SetAttribute("genre", "update李赞红");//则修改该属性为“update李赞红”

                        XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点
                        foreach (XmlNode xn1 in nls)//遍历
                        {
                            XmlElement xe2 = (XmlElement)xn1;//转换类型
                            if (xe2.Name == "author")//如果找到
                            {
                                xe2.InnerText = "亚胜";//则修改
                                break;//找到退出来就可以了
                            }
                        }
                        break;
                    }
                }

                xmlDoc.Save(xmlPath);//保存。
                webBrowser1.Navigate(xmlPath);

            }

            ******* void button5_Click(object sender, EventArgs e)
            {
                xmlDoc.Load(xmlPath);
                XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
     
               foreach(XmlNode xn in xnl)
               {
                XmlElement xe=(XmlElement)xn;
                if (xe.GetAttribute("genre") == "fantasy")
                {
                    xe.RemoveAttribute("genre");//删除genre属性
                }
                else if (xe.GetAttribute("genre") == "update李赞红")
                {
                    xe.RemoveAll();//删除该节点的全部内容
                }
               }
               xmlDoc.Save(xmlPath);
               webBrowser1.Navigate(xmlPath);

            }

            ******* void button6_Click(object sender, EventArgs e)
            {
                String str1 = null;

                XmlDocument myxml = new XmlDocument();
                myxml.Load(xmlPath);

                XmlNode xn = myxml.SelectSingleNode("bookstore");

                XmlNodeList xnl = xn.ChildNodes;

                foreach (XmlNode xnf in xnl)
                {
                    XmlElement xe = (XmlElement)xnf;
                    str1 += xe.GetAttribute("genre");
                    str1 += Environment.NewLine;
                    str1 += xe.GetAttribute("ISBN");
                    str1 += Environment.NewLine;

                    XmlNodeList xnf1 = xe.ChildNodes;
                    foreach (XmlNode xn2 in xnf1)
                    {
                       
                        str1 += xn2.InnerText;
                        str1 += Environment.NewLine;

                    }
                }
                MessageBox.Show(str1);

            }

            ******* void Form1_Load(object sender, EventArgs e)
            {
                webBrowser1.Navigate(xmlPath);

            }


        }
    }
     

    源代码下载

     

  • 相关阅读:
    对象遍历 for in ,数组遍历for in 与 for of 的区别
    计算一个数组中key值相同的数量
    VUE的两种跳转push和replace对比区别
    微信公众号二次分享ios分享失败问题
    获得对象中的键或值
    第一个table根据checkbox选择tr,在另一个table中显示对应索引的tr(jq遍历的运用)
    checkbox 全选反选 获得所有的checkbox
    为什么jQuery要return this.each()?
    用jq代码写出一个轮播图。
    页面滚动到一定位置,两个div 朝中间运动。
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668496.html
Copyright © 2011-2022 走看看