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

            }


        }
    }
     

    源代码下载

     

  • 相关阅读:
    bootstrap-select.js 下拉框多选后动态赋值
    vs2012 未找到与约束 ContractName Microsoft.VisualStudio.Utilities.IContentTy...
    jquery 报错 Uncaught TypeError: Illegal invocation
    火狐浏览器的RestClient,接口测试,Post提交数据
    destoon二次开发 操作数据库可运行示例
    ZendStudio13 PHP调试环境快速配置
    VR发展的最大障碍在于内容?
    优秀博文链接
    LoopMatrix
    串口输出float型数据
  • 原文地址:https://www.cnblogs.com/hackpig/p/1668496.html
Copyright © 2020-2023  润新知