xml大项目,增删改查
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大项目,增删改查的更多相关文章
- C#学习笔记(6)——大项目增删改查
说明(2017-5-28 11:35:39): 1. 需要注意的地方很多 2. 首先是连接字符串str要直接写在类里面,不然每个按钮里面都要写一遍. 3. 查询用到sqlDataReader等三个方法 ...
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- webapi初学项目(增删改查)
初学wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: ...
- 使用dom4j对xml文件进行增删改查
1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...
- XML(五)dom4j增删改查
book2.xml <? xml version="1.0" encoding="UTF-8"?> <书架> <书> < ...
- webapi初学项目(增删改查),webapi增删
wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...
- idea社区版+第一个spring boot项目+增删改查+yml修改端口号
参考:https://www.cnblogs.com/tanlei-sxs/p/9855071.html 中途出现问题时参考了太多 1.下载idea社区版 2.在settings -> Plug ...
- jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查
1简单的Mvc,分层建包. java resources src/mian/java (1)dao 包 JDBC连接类,连接数据库.增删改查方法,其他的方法. (2)model包 实体类,数据库字段, ...
- C# 本地xml文件进行增删改查
项目添加XML文件:FaceXml.xml,并复制到输出目录 FaceXml.xml <?xml version="1.0" encoding="utf-8&quo ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
随机推荐
- python之函数用法__getitem__()
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法__getitem__() #http://www.cnblogs.com/hongf ...
- 如何使用jmeter来实现更大批量的并发的解决方案
近期在用JMeter进行负载测试的 时候,发现使用单台机器模拟测试超过比如500个进程的并发就有些力不从心或者说不能如实的反应实际情况,在执行的过程中,JMeter自身会自动关闭, 要解决这个问题,则 ...
- pip安装注意事项
pip源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 h ...
- 近年Recsys论文
2015年~2017年SIGIR,SIGKDD,ICML三大会议的Recsys论文: [转载请注明出处:https://www.cnblogs.com/shenxiaolin/p/8321722.ht ...
- 【LeetCode】52. N-Queens II
N-Queens II Follow up for N-Queens problem. Now, instead outputting board configurations, return the ...
- ASP.NET MVC下的异步Action的定义和执行原理[转]
http://www.cnblogs.com/artech/archive/2012/06/20/async-action-in-mvc.html Visual Studio提供的Controller ...
- Python学习笔记014——迭代工具函数 内置函数zip()
1 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操 ...
- RHEL7 -- RPM包命名规则
rpm软件包文件采用软件包名称组合name-version-release.architecture的方式进行命名 以下面的rpm包为例: kernel-devel--.el7.x86_64 ·na ...
- Workflow_工作流的基本概念(概念)
2014-06-01 Created By BaoXinjian
- sql 跨表修改的方式
update xhj_mon_job_log a set person_id = (select id from xhj_mon_job_manage b where a.task_id = b.id ...