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. 自定义AppServer

    TelnetSever.cs public class TelnetServer : AppServer<TelnetSession> { protected override bool ...

  2. 全球免费知名DNS服务器

    全球免费知名DNS服务器 jalone 2013-06-18 14:25:46 最近老是发表DNS相关文章,今天继续说DNS,国内75%以上的家用宽带路由器存在严重的安全隐患:用户浏览网页的时候其DN ...

  3. mysql 设置密码

    法一: 格式:mysqladmin -u用户名 -p旧密码 password 新密码 方法二:1.用root 进入mysql后mysql>set password =password('你的密码 ...

  4. iOS 图片部分模糊,类似于美图秀秀

    代码地址如下:http://www.demodashi.com/demo/14277.html 演示效果 演示效果 代码结构 项目结构截图如下: 该模块的核心源码部分为 MBPartBlurView, ...

  5. HTML5动感圆圈

    概述 利用HTML5 Canvas实现的炫酷动感的圆圈动画. 详细 代码下载:http://www.demodashi.com/demo/10419.html 一.准备工作 本demo使用HTML5进 ...

  6. Java中创建实例化对象的几种方式

    Java中创建实例化对象有哪些方式? ①最常见的创建对象方法,使用new语句创建一个对象.②通过工厂方法返回对象,例:String s =String.valueOf().(工厂方法涉及到框架)③动用 ...

  7. 用UNetbootin轻松把Linux操作系统装进U盘

    转自http://www.hackbase.com/tech/2009-02-14/51197.html1.下载Linux发行版的iso镜像.    如Hiweed GNU/Linux:http:// ...

  8. Nginx配置https和wss

    微信小程序不仅要求必须是HTTPS和WSS,还要求URL里不能有端口号. 一.使用Nginx足够了 常见的服务器有三种: Nginx IIS Apache 这三种服务器都可以配置https,但是没必要 ...

  9. NSUserDefault 的使用

    1.NSUserDefault的使用: 作用:NSUserDefaults类提供了一个与默认系统进行交互的编程接口.NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等 ...

  10. Python 多进程 一分钟下载二百张图片 是什么样子的体验

    需要爬取国内某个网站,但是这个网站封ip,没办法,只能用代理了,然后构建自己的代理池,代理池维护了20条进程, 所用的网络是20M带宽,实际的网速能达到2.5M,考虑到其他原因,网速未必能达到那么多. ...