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. 使用case语句给字体改变颜色

    使用case语句给字体改变颜色 #!/bin/bash color(){ RED_COLOR='\E[1;31m' GREEN_COLOR='\E[1;32m' YELLOW_COLOR='\E[1; ...

  2. htmlunit 自动化提交/获取网页数据,自动化测试

    开源组件: https://sourceforge.net/projects/htmlunit/ demo public void post() { try { WebClient client = ...

  3. POJ2777(线段树涂色问题)

    Count Color Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 42828   Accepted: 12973 Des ...

  4. Zookeeper学习(八):Zookeeper的数据发布与订阅模式

     http://blog.csdn.net/ZuoAnYinXiang/article/category/6104448 1.发布订阅的基本概念        1.发布订阅模式可以看成一对多的关系:多 ...

  5. postgresql 模式与用户,及跨库访问

    1 控制台命令\h:查看SQL命令的解释,比如\h select.\?:查看psql命令列表.\l:列出所有数据库.\c [database_name]:连接其他数据库.\d:列出当前数据库的所有表格 ...

  6. 在IIS下配置自定义的报错页面

    这里介绍在IIS中配置自定义出错页面的方法,主要以404为例,其他状态可类推 1.远程桌面连接IIS所在的服务器,进入控制面板>系统和安全>管理工具,双击打开IIS管理器,选择需要配置的网 ...

  7. 10-10C#基础---数据类型之间的转换

    10-10  C#基础数据类型转换(熟练掌握) 第一课 数据类型之间的转换 基本类型的转换:自动转换(隐式转换)和强制转换(显示转换) 装箱转换:允许值类型隐式转换成引用类型. 拆箱转换:允许将引用类 ...

  8. TypeError: 'append' called on an object that does not implement interface FormData 解决方法

    使用ajax提交form表单时,$("formId").serialize()不能提交type="file"类型的input,这个时候可以选择使用FormDat ...

  9. 查看hdfs各目录分别占用多少空间

    之前在网上搜索到的全部单位好像都是byte的,看起来很麻烦,然后自己看了下 hadoop fs -help [hadoop@slave3 java]$ hadoop fs -help Usage: h ...

  10. JavaScript中数值和对象

    一.创建对象并将其初始化  a.使用new创建对象和方法 <<!DOCTYPE html> <html> <head> <mete http-equiv ...