zoukankan      html  css  js  c++  java
  • .net 对XML实例

    管理窗体如下

    操作的xml文件如下:

    <?xml version="1.0" encoding="utf-8"?>
    <Books>
      <Book Author="利亚南" NO="002">
        <Title>系统自动化控制</Title>
        <KM>计算机</KM>
        <Price>120</Price>
      </Book>
      <Book Author="李金昌" NO="003">
        <Title>计算机原理</Title>
        <KM>计算机科学</KM>
        <Price>110</Price>
      </Book>
      <Book Author="李金昌" NO="003">
        <Title>计算机原理</Title>
        <KM>计算机科学</KM>
        <Price>110</Price>
      </Book>
      <Book Author="李金昌" NO="003">
        <Title>计算机原理</Title>
        <KM>计算机科学</KM>
        <Price>110</Price>
      </Book>
      <Book Author="李金昌" NO="003">
        <Title>计算机原理</Title>
        <KM>计算机科学</KM>
        <Price>110</Price>
      </Book>
      <Book Author="李金昌" NO="003">
        <Title>计算机原理</Title>
        <KM>计算机科学</KM>
        <Price>110</Price>
      </Book>
    </Books>

    控制代码如下:

    private string path = @"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml";
            /// <summary>
            /// 构造
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                //if (!File.Exists(@"D:\My Documents\WindowsApplic\b.xml"))
                //{
                //    File.CreateText(@"D:\My Documents\WindowsApplic\b.xml");
                //}
                XmlDocument xmldoc = new XmlDocument();
                XmlDeclaration xmldcl = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
                xmldoc.AppendChild(xmldcl);
                XmlElement xe = xmldoc.CreateElement("", "Books", "");
                xmldoc.AppendChild(xe);
                xmldoc.Save(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
            }
            /// <summary>
            /// 添加事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button2_Click(object sender, EventArgs e)
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
                XmlNode root = xmldoc.SelectSingleNode("Books");
                XmlElement xmlnode = xmldoc.CreateElement("Book");
                XmlElement xe = xmlnode;
                xe.SetAttribute("Author", TxtAuthor.Text);
                xe.SetAttribute("NO", TxtNo.Text);
                XmlElement xe1 = xmldoc.CreateElement("Title");
                xe1.InnerText = TxtTitle.Text;
                xmlnode.AppendChild(xe1);
                XmlElement xe2 = xmldoc.CreateElement("KM");
                xe2.InnerText = TxtKM.Text;
                xmlnode.AppendChild(xe2);
                XmlElement xe3 = xmldoc.CreateElement("Price");
                xe3.InnerText = TxtPrice.Text;
                xmlnode.AppendChild(xe3);
                XmlNode xn = (XmlNode)xmlnode;
                root.AppendChild(xn);
                xmldoc.Save(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
            }
            /// <summary>
            /// 读取
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button6_Click(object sender, EventArgs e)
            {
                DataSet ds = new DataSet();
                ds.ReadXml(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
                return;
            }
            /// <summary>
            /// 查看事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button3_Click(object sender, EventArgs e)
            {
               string author= TxtAuthor.Text;//作者
               XmlDocument xmldoc = new XmlDocument();
               xmldoc.Load(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
               XmlNode xn = xmldoc.FirstChild.NextSibling;
               XmlNodeList nl = xn.ChildNodes;
               foreach (XmlNode xni in nl)
               {
                   XmlElement xe=(XmlElement) xni;
                   if (xe.GetAttribute("Author") == TxtAuthor.Text)
                   {
                       string str = "作者:" + xe.GetAttribute("Author") + ",编号:" + xe.GetAttribute("NO") + ",书名:" + xe.ChildNodes[0].InnerText + ",科目:" + xe.ChildNodes[1].InnerText+",价格:"+xe.ChildNodes[2].InnerText;
                       MessageBox.Show(str);
                       //xe.ParentNode.RemoveChild(xe);
                   }
               }
               xmldoc.Save(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");

            }
            /// <summary>
            /// 删除
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button4_Click(object sender, EventArgs e)
            {
                string author = TxtAuthor.Text;//作者
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
                XmlNode xn = xmldoc.FirstChild.NextSibling;
                XmlNodeList nl = xn.ChildNodes;
                foreach (XmlNode xni in nl)
                {
                    XmlElement xe = (XmlElement)xni;
                    if (xe.GetAttribute("Author") == TxtAuthor.Text||xe.GetAttribute("N0")==TxtNo.Text)
                    {
                        string str = "作者:" + xe.GetAttribute("Author") + ",编号:" + xe.GetAttribute("NO") + ",书名:" + xe.ChildNodes[0].InnerText + ",科目:" + xe.ChildNodes[1].InnerText + ",价格:" + xe.ChildNodes[2].InnerText;
                        MessageBox.Show(str);
                        xe.ParentNode.RemoveChild(xe);
                    }
                }
                xmldoc.Save(@"D:\My Documents\WindowsApplication1\WindowsApplication1\b.xml");
            }
            /// <summary>
            /// 修改节点
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button5_Click(object sender, EventArgs e)
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(path);
                XmlNode xn1 = xmldoc.FirstChild.NextSibling;
                XmlNodeList nl = xn1.ChildNodes;
                foreach(XmlNode xn in nl)
                {
                    if (((XmlElement)xn).GetAttribute("Author") == TxtAuthor.Text || ((XmlElement)xn).GetAttribute("NO") == TxtNo.Text)
                    {
                        ((XmlElement)xn).SetAttribute("Author",TxtAuthor.Text);
                        ((XmlElement)xn).SetAttribute("NO",TxtNo.Text);
                        xn.ChildNodes[0].InnerText = TxtTitle.Text;
                        xn.ChildNodes[1].InnerText = TxtKM.Text;
                        xn.ChildNodes[2].InnerText = TxtPrice.Text;
                    }
                }
                xmldoc.Save(path);
            }

  • 相关阅读:
    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学
    001 Android Studio 首次编译执行项目过程中遇到的几个常见问题
    Dora.Interception,为.NET Core度身打造的AOP框架 [2]:以约定的方式定义拦截器
    Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验
    监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile
    轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
    轻量级ORM框架——第一篇:Dapper快速学习
    CF888G Xor-MST(异或生成树模板)
  • 原文地址:https://www.cnblogs.com/lijinchang/p/1921624.html
Copyright © 2011-2022 走看看