xml大项目,增删改查

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Windows.Forms;
  9 using System.Xml.Linq;
 10 
 11 namespace xml大项目
 12 {
 13     public partial class Form1 : Form
 14     {
 15         public Form1()
 16         {
 17             InitializeComponent();
 18         }
 19 
 20         private void Form1_Load(object sender, EventArgs e)
 21         {
 22             LoadXDocument();
 23         }
 24 
 25         private void LoadXDocument()
 26         {
 27             XDocument xdoc = XDocument.Load("1.xml");
 28             List<User> list = new List<User>();
 29             foreach (XElement user in xdoc.Root.Elements())
 30             {
 31                 list.Add(new User()
 32                 {
 33                     Name = user.Element("name").Value,
 34                     Id = user.Attribute("id").Value,
 35                     Password = user.Element("password").Value
 36                 });
 37             }
 38             dgv.AutoGenerateColumns = false;//取消自动生成列
 39             dgv.DataSource = list;//显示的列等于集合的列,为该控件绑定数据
 40             dgv.SelectedRows[0].Selected = false;//取消默认选中第一行
 41         }
 42 
 43         private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
 44         {
 45             //把选中的数据放到右侧文本框中
 46             if (dgv.SelectedRows.Count > 0)//有被选中的行
 47             {
 48                 labId.Text = dgv.SelectedRows[0].Cells[0].Value.ToString();//获取id
 49                 txtUpdateName.Text = dgv.SelectedRows[0].Cells[1].Value.ToString();//获取用户名
 50                 txtUpdatePwd.Text = dgv.SelectedRows[0].Cells[2].Value.ToString();//获取密码
 51             }
 52 
 53 
 54         }
 55 
 56         private void btnInsert_Click(object sender, EventArgs e)
 57         {
 58             //点击注册后,把里面的信息加入xml并显示在左边框里
 59             //获取id,用户名,密码
 60             string id = txtId.Text;//id
 61             string name = txtName.Text;//用户名
 62             string password = txtPwd.Text;//密码
 63             //读取xml文件
 64             XDocument xdoc = XDocument.Load("1.xml");
 65             //获取根节点
 66             XElement root = xdoc.Root;
 67             //添加user标签
 68             XElement user = new XElement("user");
 69             user.SetAttributeValue("id", id);//属性
 70             user.SetElementValue("name", name);
 71             user.SetElementValue("password", password);
 72             root.Add(user);
 73             //保存
 74             //user.Save("1.xml");
 75             //root.Save("1.xml");
 76             xdoc.Save("1.xml");
 77             MessageBox.Show("注册成功!");
 78             LoadXDocument();//刷新
 79         }
 80 
 81         private void tsmDelete_Click(object sender, EventArgs e)
 82         {
 83             //右键删除
 84             //点到一行
 85             if (dgv.SelectedRows.Count > 0)
 86             {
 87                 //找到id
 88                 string id = dgv.SelectedRows[0].Cells[0].Value.ToString();
 89                 //根据id获取xml对应元素
 90                 //读取xml文件
 91                 XDocument xdoc = XDocument.Load("1.xml");
 92                 //获取根节点
 93                 XElement xele = xdoc.Root;
 94                 foreach (XElement user in xele.Elements())
 95                 {
 96                     if (user.Attribute("id").Value == id)
 97                     {
 98                         user.Remove();
 99                     }
100                 }
101                 //一定要记得保存啊!!!
102                 xdoc.Save("1.xml");
103                 LoadXDocument();//刷新
104             }
105         }
106 
107         private void btnUpdate_Click(object sender, EventArgs e)
108         {
109             //修改 
110             //判断有选中
111             if (dgv.SelectedRows.Count > 0)
112             {
113                 //获取id,文本框里的修改后的账号,密码
114                 string id = dgv.SelectedRows[0].Cells[0].Value.ToString();
115                 string name = txtUpdateName.Text;
116                 string password = txtUpdatePwd.Text;
117                 //写入xml
118                 XDocument xdoc = XDocument.Load("1.xml");
119                 XElement xele = xdoc.Root;
120                 foreach (XElement user in xele.Elements())
121                 {
122                     if (user.Attribute("id").Value == id)
123                     {
124                         user.SetElementValue("name",name);
125                         user.SetElementValue("password",password);
126                     }
127                 }
128                 //保存xml
129                 xdoc.Save("1.xml");
130                 //刷新
131                 LoadXDocument();
132             }
133         }
134 
135 
136     }
137 }
原文地址:https://www.cnblogs.com/Jacklovely/p/5621311.html