c# XML增删改查
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增删改查的更多相关文章
- 使用python操作XML增删改查
使用python操作XML增删改查 什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- net对XML增删改查
Pass:看公司代码,配置下拉框的功能,和下拉框的数字转文字.配置xml里面有下拉的value,name,这样界面直接显示数字,然后转译成中文 1.xml文件格式 <?xml version=& ...
- .net xml 增删改查基础复习及干货分享
今天做做项目时,有一个需求需要用到一些固定的文本数据,觉得将这些需要存储的信息直接写在代码里很不友好,放在数据库中存储又觉得不够方便,自然就想到了使用xml来进行操作,我平常在项目中其实用到xml的机 ...
- Linq to XML 增删改查
Linq to XML同样是对原C#访问XML文件的方法的封装,简化了用xpath进行xml的查询以及增加,修改,删除xml元素的操作.C#访问XML文件的常用类:XmlDocument,XmlEle ...
- XML 增删改查
<?php $xmlpatch = 'index.xml'; $_id = '; $_title = 'title1'; $_content = 'content1'; $_author = ' ...
- c#操作xml增删改查
1.首先新建一个xml文件(Root是我写上的) 2. 3.直接上代码,更直观 (1)初始化xml /// <summary> /// 初始化xml /// </summary> ...
- Linq To Xml操作XML增删改查
对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO Xml对XML进行操作,主要讲解对XML的创建.加载.增加.查询.修改以及删除:重点在于类XD ...
- 4.Linq To Xml操作XML增删改查
转自https://www.cnblogs.com/wujy/p/3366812.html 对XML文件的操作在平时项目中经常要运用到,比如用于存放一些配置相关的内容:本文将简单运用Linq TO X ...
随机推荐
- swing之gridlayout
package gui1; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.JButton; im ...
- Oracle的启动过程
在Windows操作系统平台下,可以使用SQL*Plus.OEM和系统服务管理等方式进行数据库的启动与关闭操作.数据库启动分为3个步骤:创建并启动数据库实例.装载数据库和打开数据库.数据库的关闭过程与 ...
- angular 的杂碎报错小知识
1:[ng:areq] Angular出现这种错误的原因,是由于没有在页面中使用模块引入controller导致的 所以 请确保你定义了这个controller后也引用了它. 2:Failed to ...
- bzoj 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头——枚举倍数
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1607 #include<iostream> #include<cstdio ...
- 杂项:Grunt
ylbtech-杂项:Grunt GRUNTJavaScript 世界的构建工具 1. 返回顶部 1. 为何要用构建工具? 一句话:自动化.对于需要反复重复的任务,例如压缩(minification) ...
- &(((struct A*)NULL)->m_float)---offsetof
问题描述: struct A { int m_int; float m_float; }; int main(void) { printf("%p",&(((struct ...
- [置顶]
都是类型惹的祸——小心unsigned
正如我们所知道的,编程语句都有很多的基本数据类型,如char,inf,float等等,而在C和C++中还有一个特殊的类型就是无符号数,它由unsigned修饰,如unsigned int等.大家有没想 ...
- java 多线程系列---JUC原子类(一)之框架
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIn ...
- c:if标签数据回显判断是否选中
<form action="/brand/list.do" method="post" style="padding-top:5px;" ...
- Linux split命令实例
曾经是否想要把一个大文件分割成多个小文件?比如一个5gb日志文件,我们需要把它分成多个小文件,这样我们才有可能使用普通的文本编辑器读取它.有时我们需要传输20gb的大文件到另一台服务器,这就需要我们把 ...