xml(可扩展标记语言)

XML 数据存储

1、XML 语法特点

1 严格区分大小写
2 有且只有一个根节点
3 有开始和结束标签
4 属性必须使用‘"‘
5 没有预定义标签,与html不一样
6 文档声明: <?xml verslon="1.0" encoding="utf-8"?>    //verslon="1.0" 版本
7 注释:<!-->
8 CDATA:即原意文本-<![CDATA[...]]>
9 注意编码问题,文本文件实际编码要与文档声明中编码一致

2、读取xml文件

 1  static void Main(string[] args)
 2         {
 3             //加载该文件
 4             XDocument xdoc = XDocument.Load("1.xml");
 5             //获取xml文件的根元素
 6             XElement root = xdoc.Root;
 7             Console.WriteLine(root);//获取所有的元素
 8             Console.WriteLine(root.Name);//获取根元素的名字
 9            //获取根元素中所有的子元素
10             IEnumerable<XElement> eles = root.Elements();//获得所有的子元素集合
11             foreach (XElement item in eles)  //既然是集合就可以foreach遍历
12             {
13                 Console.WriteLine(item.Name+"----"+item.Attribute("ID").Value);//Attribute打印属性里面的属性值
14                 //获得子元素里面的子元素
15                 foreach (XElement stu in item.Elements())
16                 {
17                     Console.WriteLine(stu.Name + "----" + stu.Attribute("ID").Value);
18                     //获取元素的值
19                     Console.WriteLine(stu.Element("name").Value);
20                     Console.WriteLine(stu.Element("gender").Value);
21                     Console.WriteLine(stu.Element("age").Value);
22                 }
23             }
25             Console.ReadKey();
27         }

2、xml文件写入

 1   static void Main(string[] args)
 2         {
 3             XDocument xdoc = new XDocument();
 4             XElement root = new XElement("person");//根元素
 5             XElement stu = new XElement("student");//子元素
 6             stu.SetAttributeValue("id", "001");//设置student元素的属性和值
 7             //设置student元素下的元素和值
 8             stu.SetElementValue("name", "小明");
 9             stu.SetElementValue("gender", "男");
10             stu.SetElementValue("age", "40");
11             root.Add(stu);//把子元素添加到根元素
12             xdoc.Add(root);//把元素添加到文档中
13             //保存
14             xdoc.Save("1.xml");
15             Console.WriteLine("可以的,大兄弟");
16             Console.ReadKey();
17         }
 1 using System.Collections.Generic;
 2 using System.Xml.Linq;
 3
 4 namespace ConsoleApplication2
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             //这是一个集合,里面有三个人
11             List<Person> list = new List<Person>();
12             list.Add(new Person() { Age = 18, Gender = "男", Name = "小明", ID = 001 });
13             list.Add(new Person() { Age = 20, Gender = "男", Name = "小华", ID = 002 });
14             list.Add(new Person() { Age = 16, Gender = "女", Name = "小红", ID = 003 });
15
16             XDocument xdoc = new XDocument();
17             //创建根源上
18             XElement root = new XElement("Person");
19
20             for (int i = 0; i < list.Count; i++)
21             {
22                 XElement student = new XElement("student");
23                 student.SetAttributeValue("id", list[i].ID.ToString());
24                 student.SetElementValue("name", list[i].Name);
25                 student.SetElementValue("age", list[i].Age.ToString());
26                 student.SetElementValue("gender", list[i].Gender);
27                 root.Add(student);//把节点添加到根节点中
28             }
29
30             xdoc.Add(root);//把根源是添加到文件中
31             xdoc.Save("1.xml");//保存
32
33         }
34     }
35     class Person
36     {
37         public int ID
38         {
39             get;
40             set;
41         }
42         public string Name
43         {
44             get;
45             set;
46         }
47         public int Age
48         {
49             get;
50             set;
51         }
52         public string Gender
53         {
54             get;
55             set;
56         }
57
58     }
59 }

3、遍历节点

 1 using System.Linq;
 2 using System.Windows.Forms;
 3 using System.Xml.Linq;
 4
 5 namespace WindowsFormsApplication1
 6 {
 7     public partial class Form1 : Form
 8     {
 9         public Form1()
10         {
11             InitializeComponent();
12         }
13
14         private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
15         {
16             //读取xml文件
17             XDocument xdoc = XDocument.Load("1.xml");
18             XElement root = xdoc.Root;//获取根元素
19             TreeNode tn = treeView1.Nodes.Add(root.Name.ToString());//根元素的名字显示到控件的根节点上
20             loadElement(root, tn);
21         }
22
23         private void loadElement(XElement root, TreeNode tn)
24         {
25             //遍历根元素下所有的子元素
26             foreach (XElement item in root.Elements())
27             {
28                 //判断当前的元素下是否还有元素
29                 if (item.Elements().Count() > 0)//还有就接着遍历
30                 {
31                     TreeNode tn1 = tn.Nodes.Add(item.Name.ToString());
32                     loadElement(root, tn1);
33                 }
34                 else//没有就显示
35                 {
36                     tn.Nodes.Add(item.Value);
37                 }
38             }
39         }
40     }
41 }

xml登录案例

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Windows.Forms;
 4 using System.Xml.Linq;
 5
 6 namespace WindowsFormsApplication2
 7 {
 8     public partial class Form1 : Form
 9     {
10         public Form1()
11         {
12             InitializeComponent();
13         }
14         List<User> list = new List<User>();
15         private void Form1_Load(object sender, EventArgs e)
16         {
17             //读取xml文件,获取所以的用户和密码
18
19             XDocument xdoc = XDocument.Load("User.xml");
20             //获取根元素
21             XElement root = xdoc.Root;
22             foreach (XElement item in root.Elements())
23             {
24                 list.Add(new User()
25                 {
26                     ID = item.Attribute("id").Value,
27                     Name = item.Attribute("name").Value,
28                     Password = item.Attribute("Password").Value,
29                 });
30             }
31             //存储在集合中
32         }
33
34         private void button1_Click(object sender, EventArgs e)
35         {
36             //登录的时候 遍历集合 判断帐号和密码 在集合中 是否存在并相同,则登录成功,否则登录失败
37             string name = textBox1.Text;
38             string pwd = textBox2.Text;
39             for (int i = 0; i < list.Count; i++)
40             {
41                 if(list[i].Name==name && list[i].Password == pwd )
42                 {
43                     MessageBox.Show("登录成功");
44                     return;
45                 }
46             }
47             MessageBox.Show("登录失败");
48         }
49     }
50     class User
51     {
52         public string ID
53         {
54             get;
55             set;
56         }
57         public string Name
58         {
59             get;
60             set;
61         }
62         public string Password
63         {
64             get;
65             set;
66         }
67
68     }
69 }
时间: 2024-11-26 07:35:38

xml(可扩展标记语言)的相关文章

XML可扩展标记语言

一.XML可扩展标记语言 1.概念: XML推出初衷是为了替换HTML,标签名可以直接定义,不能用数字开头 不能使用纯数字 区分大小写,后用做配置文件 封装数据 因为xml具有良好的格式,所以用途非常广泛,比如持久化存储数据 数据交换 数据配置 xml和html的区别: 1)html的标签是固定的,不能扩展.xml的标签是不固定的,可扩展的. 2)html侧重于显示的信息.xml侧重于标识信息的结构. 3)html是不区分大小写的.xml是区分大小写的.xml的语法比html更严谨. 2.组成部

关于XML(可扩展标记语言)的基础知识与写法------2017-05-18

XML(Extensible Markup Language) HTML:超文本标记语言,主要用来展示   XML:可扩展标记语言,用来做数据传输XML特点: 1.树状结构,有且只有一个根 2.标签名自定义 3.标签名很敏感,都是双标签元素 4.同一级下不能出现重名标签 例子:用XML来获取login表中的name列: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit

Java XML可扩展标记语言(eXtensible Markup Language)

一.XMl 1.1.XML简介:  XML指可扩展标记语言(eXtensible Markup Language),它是一种很像HTML的标记语言.XML的设计宗旨是传输数据,焦点是数据的内容,而HTML被设计用来显示数据,其焦点是数据的外观.XML是不会做任何事情的,它只是被设计用来结构化.存储以及传输信息. 1 <mail> 2 <from>tom</from> 3 <to>lily</to> 4 <detail>I will g

第三章 可扩展标记语言XML

==========================第三章====================== XML(可扩展标记语言)的作用: 用于传输和存储数据的,并且对数据有一定的描述性. 没有预定义标签,用户可以自定义标签. XML最好的描述是:XML 是独立于软件和硬件的信息传输工具.即不依赖于任何软件,没有语言上的问题.任何一个可编辑文本的软件即可编写XML文件. HTML(超文本标记语言)的作用: 用于显示数据. XML的用途: 1.作为应用程序的配置文件 2.作为应用程序的数据源 3.平

XML简介——可扩展标记语言(Extensible Markup Language)

(What) XML是什么? XML指可扩展标记语言(Extensible Markup Language) 1.  XML是一种标记语言,类似HTML. 2.  XML具有自我描述性 3.  XML被设计来传输和数据(设计宗旨/目的) XML和HTML的关系和区别 XML是HTML的补充,不是取代. 相同之处:1.两者都是标记语言.2.都是W3C的推荐标准 不同之处:1.(目的不同)xml被设计来传输和存储数据,重点是数据的内容:html被设计来显示数据,重点是数据的显示.2.(标签不同)xm

第八章 可扩展标记语言XML

1.什么是XML? XML:Extensible Markup Language(可扩展标记语言) HTML:HyperLink Text  Markup Language(超文本标记语言) 2.xml文件和html文件的区别? 01.xml严格区分大小写,html不区分 02.xml不是编译语言,xml和html都是解释型语言 03.html语言负责显示数据,而Xml文件就是专门用来存储数据 3.xml书写注意点 1.xml文件严格区分大小写  2.标签配对出现  3.xml文档只能有一个根节

关于XML(可扩展标记语言)的基础知识与写法

XML(Extensible Markup Language) HTML:超文本标记语言,主要用来展示   XML:可扩展标记语言,用来做数据传输XML特点:1.树状结构,有且只有一个根2.标签名自定义3.标签名很敏感,都是双标签元素4.同一级下不能出现重名标签 例子:用XML来获取login表中的name列:   <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title

扩展标记语言-XML

XML 指可扩展标记语言(eXtensible Markup Language).XML 被设计用来传输和存储数据.XML 很重要,也很容易学习.::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::XML 简介XML 被设计用来传输和存储数据.ht tp://www.iis7.com/HTML 被设计用来显示数据..............什么是 XML?XML 指可扩展标记语言(EXtensible Markup Langua

可扩展标记语言XML

1.HTML(Hyper Text MarkUp language) 超文本标记语言 XML(Extendsible Markup Language) 可扩展性标记语言1)html负责显示数据,xml侧重的存储数据2)html标签W3C定制好的,xml程序员手动定制. 2.RSS订阅器. 配置文件都是xml. Word文档底层使用xml存储. 3.xml文件的根节点只能有一个. root一个根节点对象. root.ChilNodes子节点集合. Java1.7支持String类型,但是一直报错.