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.Xml.Linq; namespace xml大项目
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
LoadXDocument();
} private void LoadXDocument()
{
XDocument xdoc = XDocument.Load("1.xml");
List<User> list = new List<User>();
foreach (XElement user in xdoc.Root.Elements())
{
list.Add(new User()
{
Name = user.Element("name").Value,
Id = user.Attribute("id").Value,
Password = user.Element("password").Value
});
}
dgv.AutoGenerateColumns = false;//取消自动生成列
dgv.DataSource = list;//显示的列等于集合的列,为该控件绑定数据
dgv.SelectedRows[].Selected = false;//取消默认选中第一行
} private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
//把选中的数据放到右侧文本框中
if (dgv.SelectedRows.Count > )//有被选中的行
{
labId.Text = dgv.SelectedRows[].Cells[].Value.ToString();//获取id
txtUpdateName.Text = dgv.SelectedRows[].Cells[].Value.ToString();//获取用户名
txtUpdatePwd.Text = dgv.SelectedRows[].Cells[].Value.ToString();//获取密码
} } private void btnInsert_Click(object sender, EventArgs e)
{
//点击注册后,把里面的信息加入xml并显示在左边框里
//获取id,用户名,密码
string id = txtId.Text;//id
string name = txtName.Text;//用户名
string password = txtPwd.Text;//密码
//读取xml文件
XDocument xdoc = XDocument.Load("1.xml");
//获取根节点
XElement root = xdoc.Root;
//添加user标签
XElement user = new XElement("user");
user.SetAttributeValue("id", id);//属性
user.SetElementValue("name", name);
user.SetElementValue("password", password);
root.Add(user);
//保存
//user.Save("1.xml");
//root.Save("1.xml");
xdoc.Save("1.xml");
MessageBox.Show("注册成功!");
LoadXDocument();//刷新
} private void tsmDelete_Click(object sender, EventArgs e)
{
//右键删除
//点到一行
if (dgv.SelectedRows.Count > )
{
//找到id
string id = dgv.SelectedRows[].Cells[].Value.ToString();
//根据id获取xml对应元素
//读取xml文件
XDocument xdoc = XDocument.Load("1.xml");
//获取根节点
XElement xele = xdoc.Root;
foreach (XElement user in xele.Elements())
{
if (user.Attribute("id").Value == id)
{
user.Remove();
}
}
//一定要记得保存啊!!!
xdoc.Save("1.xml");
LoadXDocument();//刷新
}
} private void btnUpdate_Click(object sender, EventArgs e)
{
//修改
//判断有选中
if (dgv.SelectedRows.Count > )
{
//获取id,文本框里的修改后的账号,密码
string id = dgv.SelectedRows[].Cells[].Value.ToString();
string name = txtUpdateName.Text;
string password = txtUpdatePwd.Text;
//写入xml
XDocument xdoc = XDocument.Load("1.xml");
XElement xele = xdoc.Root;
foreach (XElement user in xele.Elements())
{
if (user.Attribute("id").Value == id)
{
user.SetElementValue("name",name);
user.SetElementValue("password",password);
}
}
//保存xml
xdoc.Save("1.xml");
//刷新
LoadXDocument();
}
} }
}

xml大项目,增删改查的更多相关文章

  1. C#学习笔记(6)——大项目增删改查

    说明(2017-5-28 11:35:39): 1. 需要注意的地方很多 2. 首先是连接字符串str要直接写在类里面,不然每个按钮里面都要写一遍. 3. 查询用到sqlDataReader等三个方法 ...

  2. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...

  3. webapi初学项目(增删改查)

    初学wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: ...

  4. 使用dom4j对xml文件进行增删改查

    1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...

  5. XML(五)dom4j增删改查

    book2.xml <? xml version="1.0" encoding="UTF-8"?> <书架> <书> < ...

  6. webapi初学项目(增删改查),webapi增删

    wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...

  7. idea社区版+第一个spring boot项目+增删改查+yml修改端口号

    参考:https://www.cnblogs.com/tanlei-sxs/p/9855071.html 中途出现问题时参考了太多 1.下载idea社区版 2.在settings -> Plug ...

  8. jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查

    1简单的Mvc,分层建包. java resources src/mian/java (1)dao 包 JDBC连接类,连接数据库.增删改查方法,其他的方法. (2)model包 实体类,数据库字段, ...

  9. C# 本地xml文件进行增删改查

    项目添加XML文件:FaceXml.xml,并复制到输出目录 FaceXml.xml <?xml version="1.0" encoding="utf-8&quo ...

  10. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

随机推荐

  1. reload基础

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #reload基础 #与import和from的不同之处: #reload是python的内置函数,而不是语句 ...

  2. python之函数用法__str__()

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法__str__() #http://www.cnblogs.com/hongfei/p ...

  3. Web文件管理、私有云存储管理工具 DzzOffice

    DzzOffice-大桌子办公系统本身是一款图形化,简单易用的网盘管理软件.可以实现将企业的局域网服务器.企业私有云存储.企业租用的公有云存储(如阿里云OSS).企业员工的私有云存储(如百度网盘.Dr ...

  4. 首页设计的可用性和PET

    网站的首页是一个让人头疼的东西.有时它看起来很简单:首页就是网站内容的整合,一个产品经理随便从网站里拿点东西出来,就能堆出一个看上去靠谱的首页.也正因此,它往往非常麻烦:很多人都可以发表自己的见解,而 ...

  5. try语句...

    #include<stdio.h>#include<iostream>using namespace std; int main( ){ try { throw "嗨 ...

  6. PHP API中,MYSQL与MYSQLI的持久连接区别

    转载自:http://www.cnxct.com/some-differences-between-mysql-and-mysqli-of-persistent-connection/ 很久很久以前, ...

  7. 奇怪的php问题

    <?php echo 999999999999 % 2; ?> 上面的结果居然是-1,不可思议. 999999999999 % 2

  8. Fusion Tables 图层用于呈现 Google Fusion Tables 中包含的数据

    Google Maps API 允许您使用 FusionTablesLayer 对象将 Google Fusion Tables 中包含的数据呈现为地图上的图层.Google Fusion Table ...

  9. Python练习笔记——计算个人体重指数

    输入您的身高 体重 性别 计算出你的体重是否标准 gender = input('请输入您的性别(boy or girl):') height = input('请输入您的身高(单位cm):') he ...

  10. Python学习笔记020——数据库知识概述

    数据库概述 1 提供数据库的软件都有哪些 MySQL.SQL_Server.Oracle.DB2.Mariadb.MongoDB ... (1)是否开源 开源软件:MySQL.Mariadb.Mong ...