C#基础精华06(Linq To XML,读取xml文件,写入xml)

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         }
View Code    

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  
View Code

4.1读取结果

posted @ 2015-12-25 10:35  虚-染D  阅读(546)  评论(0编辑  收藏  举报