1.XML概述:
可扩展标记语言XML(eXtensible Markup Language)是一种简单灵活的文本格式的可扩展标记语言,侧重于存储数据。
2.XML特点
xml 标记语言 html
xml 侧重于存储数据 html显示数据
注释<!-- 注释 -->
xml没有预定义标签 html有
核心类XElement,一个XElement表示一个元素,new XElement(“Order”),创建一个名字为Order的标签,调用Add增加子元素,也是XElement 对象,和TreeView一样。
3.创建XML
1 private void button1_Click(object sender, EventArgs e) 2 3 { 4 5 //创建XDocument实例 6 7 XDocument doc =new XDocument(); 8 9 //创建根元素 10 11 XElement root=new XElement("Person"); 12 13 XElement stu1=new XElement("student"); 14 15 //设置根元素的id属性 16 17 stu1.SetAttributeValue("id",01); 18 19 //设置子元素的值 20 21 stu1.SetElementValue("name","卡卡西"); 22 23 stu1.SetElementValue("gender","男"); 24 25 stu1.SetElementValue("Age",29); 26 27 //把子元素添加到根元素里 28 29 root.Add(stu1); 30 31 32 33 XElement stu2 = new XElement("student"); 34 35 stu2.SetAttributeValue("id", 02); 36 37 stu2.SetElementValue("name", "鸣人"); 38 39 stu2.SetElementValue("gender", "男"); 40 41 stu2.SetElementValue("Age", 21); 42 43 root.Add(stu2); 44 45 //把根元素加到XDocument实例 46 47 doc.Add(root); 48 49 //打开保存文件对话框,设置相应的打开样式 50 51 SaveFileDialog sfd=new SaveFileDialog() {Filter = "xml文件(*.xml)|*.xml|所有文件|*.*",Title = "保存文件",FileName = "保存",DefaultExt = "xml",AddExtension = true,InitialDirectory = @"C:\Users\LWP1398\Desktop" }; 52 53 if (sfd.ShowDialog()==DialogResult.OK) 54 55 { 56 57 doc.Save(sfd.FileName); 58 59 } 60 61 MessageBox.Show("ok"); 62 63 }
3.1创建好的文件
4.读取xml
1 private void button2_Click(object sender, EventArgs e) 2 3 { 4 5 //打开文件对话框 6 7 OpenFileDialog ofd=new OpenFileDialog() {Filter = "xml文件(*.xml)|*.xml|所有文件(*.*)|*.xml",InitialDirectory = @"C:\Users\LWP1398\Desktop",Title = "打开文件"}; 8 9 if (ofd.ShowDialog() == DialogResult.OK) 10 11 { 12 13 //加载xml文件 14 15 XDocument doc=XDocument.Load(ofd.FileName); 16 17 //得到根元素 18 19 XElement root = doc.Root; 20 21 //得到根元素下的子元素 22 23 var eles = root.Elements(); 24 25 //循环遍历每个子元素 26 27 foreach (XElement item in eles) 28 29 { 30 31 //把子元素的信息加到文本框中 32 33 txtStu.AppendText(item.Name + "===" + item.Attribute("id").Value + "\r\n"); 34 35 //循环遍历每个子元素中的信息 36 37 foreach (XElement stu in item.Elements()) 38 39 { 40 41 txtStu.AppendText(stu.Name + "===" + stu.Value + "\r\n"); 42 43 } 44 45 } 46 47 } 48 49 MessageBox.Show("ok"); 50 51 } 52 53
4.1读取结果