zoukankan      html  css  js  c++  java
  • c# XML增删改查

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Xml;
    namespace _04对XML实现增删改查
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            List<User> listUsers = new List<User>();
            private void Form1_Load(object sender, EventArgs e)
            {
                LoadData();
    
            }
    
            //加载数据
            private void LoadData()
            {
                // listUsers = new List<User>();
                //设置DataGridView的样式
                //取消显示第一列
                dataGridView1.RowHeadersVisible = false;
                //将单元格选中变成整行选中
                dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                XmlDocument doc = new XmlDocument();
                doc.Load("haodongxi.xml");
                //获得根节点
                XmlElement users = doc.DocumentElement;
                //获得根节点下面所有的子节点
                XmlNodeList xnl = users.ChildNodes;
                listUsers.Clear();
                foreach (XmlNode item in xnl)
                {
                    User user = new User();
                    user.ID = int.Parse(item.Attributes["id"].Value);
                    user.Name = item["name"].InnerText;
                    user.Age = int.Parse(item["age"].InnerText);
                    user.Gender = char.Parse(item["gender"].InnerText);
                    user.Password = item["password"].InnerText;
                    listUsers.Add(user);
                }
                //把集合作为数据源赋值给DatagridView
                dataGridView1.DataSource = null;
                //如果要dgv数据放生改变,则必须要给它的DataSource重新复制
                dataGridView1.DataSource = listUsers;
            }
    
    
    
            private void btnZhuCe_Click(object sender, EventArgs e)
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("haodongxi.xml");
    
                XmlElement users = doc.DocumentElement;
    
                XmlElement user = doc.CreateElement("user");
                user.SetAttribute("id", txtID.Text.Trim());
                users.AppendChild(user);
    
    
    
                XmlElement name = doc.CreateElement("name");
                name.InnerText = txtName.Text;
                user.AppendChild(name);
    
                XmlElement age = doc.CreateElement("age");
                age.InnerText = txtAge.Text;
                user.AppendChild(age);
    
                XmlElement gender = doc.CreateElement("gender");
                gender.InnerText = rdoMan.Checked ? "" : "";
                user.AppendChild(gender);
    
                XmlElement password = doc.CreateElement("password");
                password.InnerText = txtPwd.Text;
                user.AppendChild(password);
    
                //切记 保存
                doc.Save("haodongxi.xml");
                //重新加载数据
                LoadData();
                MessageBox.Show("注册成功");
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string id = txtUpdateID.Text;
    
                XmlDocument doc = new XmlDocument();
                doc.Load("haodongxi.xml");
                XmlElement users = doc.DocumentElement;
    
                //xPath  Path  XMLPath
    
                XmlNode xn = users.SelectSingleNode("/Users/user[@id='" + id + "']");
                // /"Users/user[@id='" +  "']"
                //"/Users/user[@id='']"
    
                xn["name"].InnerText = txtUpdateName.Text.Trim();
                xn["age"].InnerText = txtUpdateAge.Text.Trim();
                xn["gender"].InnerText = rdoUpdateMan.Checked ? "" : "";
                xn["password"].InnerText = txtUpdatePwd.Text;
    
                doc.Save("haodongxi.xml");
                LoadData();
                MessageBox.Show("修改成功");
    
    
            }
    
            private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                //删除指定数据
                //获得选中行的ID
                string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    
                XmlDocument doc = new XmlDocument();
                doc.Load("haodongxi.xml");
    
                //获得根节点
                XmlElement users = doc.DocumentElement;
    
                //通过根节点 使用XPath路径找到id=...的节点;
                XmlNode xn = users.SelectSingleNode("/Users/user[@id='" + id + "']");
    
                //开始删除
    
                users.RemoveChild(xn);
    
                doc.Save("haodongxi.xml");
                MessageBox.Show("删除成功");
    
                LoadData();
    
    
            }
    
            private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                txtUpdateID.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
    
                txtUpdateName.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
    
                txtUpdateAge.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
    
                string gender = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
                if (gender == "")
                {
                    rdoUpdateMan.Checked = true;
                }
                else
                {
                    rdoUpdateWoman.Checked = true;
                }
    
                txtUpdatePwd.Text = dataGridView1.SelectedRows[0].Cells[4].Value.ToString();
    
            }
        }
    }
  • 相关阅读:
    集群、分布式与微服务概念和区别理解
    博弈论的入门——nim游戏&&sg函数浅谈
    csp-2020 初赛游记
    洛谷 P2340 [USACO03FALL]Cow Exhibition G 题解
    P5687 [CSP-SJX2019]网格图 题解
    HBase 数据迁移/备份方法
    mac远程连接服务上传下载命令实例
    Redis安装详细步骤
    VMware虚拟机中的CentOS服务安装Nginx后本机无法访问的解决办法
    开发业务逻辑处理之策略模式场景使用
  • 原文地址:https://www.cnblogs.com/suanshun/p/7001656.html
Copyright © 2011-2022 走看看