首页 > 代码库 > C#WinForm 用textbox与button控件,向xml文件中增加新的数据
C#WinForm 用textbox与button控件,向xml文件中增加新的数据
1 旧的xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <datas> 3 <XianJia> 4 <ShengHao>女娲娘娘</ShengHao> 5 <Password>nwnn</Password> 6 </XianJia> 7 <XianJia> 8 <ShengHao>后土娘娘</ShengHao> 9 <Password>htnn</Password> 10 </XianJia> 11 <XianJia> 12 <ShengHao>释迦摩尼佛</ShengHao> 13 <Password>sjmnf</Password> 14 </XianJia> 15 <XianJia> 16 <ShengHao>元始天尊</ShengHao> 17 <Password>ystz</Password> 18 </XianJia> 19 <XianJia> 20 <ShengHao>太上老君</ShengHao> 21 <Password>tslj</Password> 22 </XianJia> 23 <XianJia> 24 <ShengHao>灵宝天尊</ShengHao> 25 <Password>lbtz</Password> 26 </XianJia> 27 <XianJia> 28 <ShengHao>耶和华</ShengHao> 29 <Password>yhh</Password> 30 </XianJia> 31 <XianJia> 32 <ShengHao>地藏王菩萨</ShengHao> 33 <Password>dzwps</Password> 34 </XianJia> 35 <XianJia> 36 <ShengHao>九天应元雷声普化天尊</ShengHao> 37 <Password>jtyylsphtz</Password> 38 </XianJia> 39 </datas>
2 UI
3 code
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 using System.Xml.Linq; 11 12 namespace WindowsFormsApplication3 13 { 14 public partial class Form1 : Form 15 { 16 public Form1() 17 { 18 InitializeComponent(); 19 } 20 21 22 23 private void Form1_Load(object sender, EventArgs e) 24 { 25 ShowXmlFile(); 26 27 28 29 } 30 31 private void ShowXmlFile() 32 { 33 List<User> datas = new List<User>(); 34 //form 窗体在加载的时候,读取xml文件 35 XDocument xmlFile = XDocument.Load("1.xml"); 36 XElement root = xmlFile.Root; 37 38 foreach (var item in root.Elements()) 39 { 40 datas.Add(new User() { ShengHao = item.Element("ShengHao").Value, Password = item.Element("Password").Value }); 41 } 42 43 //将list数据与datagridview绑定 44 dataGridView1.DataSource = datas; 45 46 //这行代码一开始是放在formload中的,但发现,每次增加新的数据之后,第一行都会被选中,所以 47 //把这行代码加入到showxmlfile中 48 dataGridView1.SelectedRows[0].Selected = false; 49 50 } 51 52 private void btnBook_Click(object sender, EventArgs e) 53 { 54 55 User newUser = new User() { ShengHao = textNewShengHao.Text, Password = textNewPassword.Text }; 56 57 XDocument xmlFile = XDocument.Load("1.xml"); 58 XElement root = xmlFile.Root; 59 60 //在根节点下新建一个子节点,名字叫“XianJia” 61 XElement newXianJia = new XElement("XianJia"); 62 newXianJia.SetElementValue("ShengHao", newUser.ShengHao); 63 newXianJia.SetElementValue("Password", newUser.Password); 64 root.Add(newXianJia); 65 66 //保存 67 xmlFile.Save("1.xml"); 68 69 //为何防止用户,双击啥的,出现一堆重复的数据,所以在这里出现一个messagebox 70 //我还发现,没有这个messagebox,虽然数据已经增加到了xml文件中, 71 //但是那个datagridview控件却不显示新的,但是在重新运行这个程序的时候会显示 72 //所以,一个messagebox贴心又省心 73 MessageBox.Show("欢迎回家"); 74 75 //让datagirdview控件显示新的xml文件中的内容 76 ShowXmlFile(); 77 } 78 } 79 }
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace WindowsFormsApplication3 8 { 9 /// <summary> 10 /// xml文件内容匹配类 11 /// </summary> 12 public class User 13 { 14 private string _shengHao; 15 private string _password; 16 17 public string Password 18 { 19 get 20 { 21 return _password; 22 } 23 24 set 25 { 26 _password = value; 27 } 28 } 29 30 public string ShengHao 31 { 32 get 33 { 34 return _shengHao; 35 } 36 37 set 38 { 39 _shengHao = value; 40 } 41 } 42 } 43 }
4 show1
show2
show3
C#WinForm 用textbox与button控件,向xml文件中增加新的数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。