using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml;
namespace _04对XML实现增删改查
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} List<User> listUsers = new List<User>();
private void Form1_Load(object sender, EventArgs e)
{
LoadData(); } //加载数据
private void LoadData()
{
// listUsers = new List<User>();
//设置DataGridView的样式
//取消显示第一列
dataGridView1.RowHeadersVisible = false;
//将单元格选中变成整行选中
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
XmlDocument doc = new XmlDocument();
doc.Load("haodongxi.xml");
//获得根节点
XmlElement users = doc.DocumentElement;
//获得根节点下面所有的子节点
XmlNodeList xnl = users.ChildNodes;
listUsers.Clear();
foreach (XmlNode item in xnl)
{
User user = new User();
user.ID = int.Parse(item.Attributes["id"].Value);
user.Name = item["name"].InnerText;
user.Age = int.Parse(item["age"].InnerText);
user.Gender = char.Parse(item["gender"].InnerText);
user.Password = item["password"].InnerText;
listUsers.Add(user);
}
//把集合作为数据源赋值给DatagridView
dataGridView1.DataSource = null;
//如果要dgv数据放生改变,则必须要给它的DataSource重新复制
dataGridView1.DataSource = listUsers;
} private void btnZhuCe_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load("haodongxi.xml"); XmlElement users = doc.DocumentElement; XmlElement user = doc.CreateElement("user");
user.SetAttribute("id", txtID.Text.Trim());
users.AppendChild(user); XmlElement name = doc.CreateElement("name");
name.InnerText = txtName.Text;
user.AppendChild(name); XmlElement age = doc.CreateElement("age");
age.InnerText = txtAge.Text;
user.AppendChild(age); XmlElement gender = doc.CreateElement("gender");
gender.InnerText = rdoMan.Checked ? "男" : "女";
user.AppendChild(gender); XmlElement password = doc.CreateElement("password");
password.InnerText = txtPwd.Text;
user.AppendChild(password); //切记 保存
doc.Save("haodongxi.xml");
//重新加载数据
LoadData();
MessageBox.Show("注册成功");
} private void button1_Click(object sender, EventArgs e)
{
string id = txtUpdateID.Text; XmlDocument doc = new XmlDocument();
doc.Load("haodongxi.xml");
XmlElement users = doc.DocumentElement; //xPath Path XMLPath XmlNode xn = users.SelectSingleNode("/Users/user[@id='" + id + "']");
// /"Users/user[@id='" + "']"
//"/Users/user[@id='']" xn["name"].InnerText = txtUpdateName.Text.Trim();
xn["age"].InnerText = txtUpdateAge.Text.Trim();
xn["gender"].InnerText = rdoUpdateMan.Checked ? "男" : "女";
xn["password"].InnerText = txtUpdatePwd.Text; doc.Save("haodongxi.xml");
LoadData();
MessageBox.Show("修改成功"); } private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
{
//删除指定数据
//获得选中行的ID
string id = dataGridView1.SelectedRows[].Cells[].Value.ToString(); XmlDocument doc = new XmlDocument();
doc.Load("haodongxi.xml"); //获得根节点
XmlElement users = doc.DocumentElement; //通过根节点 使用XPath路径找到id=...的节点;
XmlNode xn = users.SelectSingleNode("/Users/user[@id='" + id + "']"); //开始删除 users.RemoveChild(xn); doc.Save("haodongxi.xml");
MessageBox.Show("删除成功"); LoadData(); } private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
txtUpdateID.Text = dataGridView1.SelectedRows[].Cells[].Value.ToString(); txtUpdateName.Text = dataGridView1.SelectedRows[].Cells[].Value.ToString(); txtUpdateAge.Text = dataGridView1.SelectedRows[].Cells[].Value.ToString(); string gender = dataGridView1.SelectedRows[].Cells[].Value.ToString();
if (gender == "男")
{
rdoUpdateMan.Checked = true;
}
else
{
rdoUpdateWoman.Checked = true;
} txtUpdatePwd.Text = dataGridView1.SelectedRows[].Cells[].Value.ToString(); }
}
}

c# XML增删改查的更多相关文章

  1. 使用python操作XML增删改查

    使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...

  2. [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界

    本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...

  3. net对XML增删改查

    Pass:看公司代码,配置下拉框的功能,和下拉框的数字转文字.配置xml里面有下拉的value,name,这样界面直接显示数字,然后转译成中文 1.xml文件格式 <?xml version=& ...

  4. .net xml 增删改查基础复习及干货分享

    今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用xml来进行操作,我平常在项目中其实用到xml的机 ...

  5. Linq to XML 增删改查

    Linq to XML同样是对原C#访问XML文件的方法的封装,简化了用xpath进行xml的查询以及增加,修改,删除xml元素的操作.C#访问XML文件的常用类:XmlDocument,XmlEle ...

  6. XML 增删改查

    <?php $xmlpatch = 'index.xml'; $_id = '; $_title = 'title1'; $_content = 'content1'; $_author = ' ...

  7. c#操作xml增删改查

    1.首先新建一个xml文件(Root是我写上的) 2. 3.直接上代码,更直观 (1)初始化xml /// <summary> /// 初始化xml /// </summary> ...

  8. Linq To Xml操作XML增删改查

    对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO Xml对XML进行操作,主要讲解对XML的创建.加载.增加.查询.修改以及删除:重点在于类XD ...

  9. 4.Linq To Xml操作XML增删改查

    转自https://www.cnblogs.com/wujy/p/3366812.html 对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO X ...

随机推荐

  1. 继《关于讯飞语音SDK开发学习》之打包过程中遇到小问题

    关于讯飞语音SDK开发学习 使用vs自带打包,具体怎么操作就不说了,网上关于这方面的资料挺多的.例如:winform 打包部署,VS2010程序打包操作(超详细的),关键是桌面上创建快捷方式中的&qu ...

  2. jsp有哪些动作?作用分别是什么?

    jsp共有6种基本动作: 1.jsp:include,在页面被请求的时候引入一个文件 2.jsp:useBean,寻找或者实例化一个JavaBean 3.jsp:setProperty,设置JavaB ...

  3. [转]实现微信浏览器内打开App Store链接

    微信浏览器是不支持打开App Store 页面的,不知道微信为什么这么做.比如你页面写 <a href=”http://itunes.apple.com/us/app/id399608199″& ...

  4. ECMAScript6入门-序言

    本系列笔记基于阮一峰大佬的开源书籍.如果大家想看可以去该地址 本系列笔记只记录本人自己学习的过程,如果有侵权收到通知会自行下架. 如果大家看到可以直接去地址处学习,如果觉得好还望支持正版. 在此感谢阮 ...

  5. 树结构ztree的 ajax交互的简单使用

    今天做前端页面要用到树结构,用了第三方插件ztree,搞了好久不过终于弄出来了,, 一点小心得.(用的版本 V3 ) 首先看下载的文件结构: 一:将要用到的CSS 和 JS 拷贝到工程中,我这里在工程 ...

  6. 反射ORM 三层(for sql server/mysql)

    sql server and oracle 不同之处只在于: 1·参数@和: 2·自增和序列 RPROM.cs //(写错愕,应该是RPORM) RPROM.Insert(p1); //需求:DBS中 ...

  7. [转载]python的range()函数用法

    使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记 ...

  8. HTML 5中的结构元素

    1.header:标记头部区域的内容 .footer:标记页脚区域的内容 .section:Web页面中的一块区域 4.article:独立的文章内容区域 5.aside:相关侧边内容或者引文区域 6 ...

  9. Task Crontab

    Crontab 1.查看任务 crontab -l 2.编辑任务 1)对应用户登录后编辑其下的作业 crontab -e 2)删除指定用户任务 crontab -u user -r 3)删除用户下指定 ...

  10. Oracle 静默安装oracle client

    静默安装oracle clint比较简单,修改instantclient.crsp文件的几个位置即可 [root@localhost ~]# vi /etc/oralnstloc inventory_ ...