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. HTTP所承载的货物(图像、文本、软件等)要满足的条件

    HTTP所承载的货物(图像.文本.软件等)要满足的条件: •可以被正确识别 通过Content-Type 首部说明媒体格式,Content-Language 说明语言,以便浏览器和其他客户端能正确处理 ...

  2. LEGO机器人发展史

    1998,cybermaster 1999,RCX 1999,micro scout 2000,scout 2002,spybotics NXT NXT2 EV3

  3. Tomcat之配置HTTPS

    1. 在C:\Windows\System32\drivers\etc\hosts文件中新增一条项目web.demo.com,让Tomcat可以通过域名访问: 127.0.0.1 web.demo.c ...

  4. R语言-查找满足条件的数并获取索引

    1.在R语言中,怎样找到满足条件的数呢? 比如给定一个向量c2.要求找到数值大于0的数: > c2  [1] 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.09 0. ...

  5. Toast连续弹出的问题

    public class CommUtils { private static Toast toast = null; public static void showToast(int text) { ...

  6. 网络工程实训_4RIP路由(动态路由)

    实验4:RIP路由.包括RIPv1:RIPv2 动态路由协议包括距离向量路由协议和链路状态路由协议.RIP(Routing Information Protocol,路由信息协议)是使用最广泛的距离向 ...

  7. 【LeetCode】34. Search for a Range

    Search for a Range Given a sorted array of integers, find the starting and ending position of a give ...

  8. 【LeetCode】149. Max Points on a Line

    Max Points on a Line Given n points on a 2D plane, find the maximum number of points that lie on the ...

  9. 【LeetCode】88. Merge Sorted Array (2 solutions)

    Merge Sorted Array Given two sorted integer arrays A and B, merge B into A as one sorted array. Note ...

  10. hadoop集群虚拟机配置

    hadoop_1, hadoop_2, hadoop_3 用户名riluo 密码19841984 查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带O ...