[代码] XML写入
01 | private void button1_Click( object sender, EventArgs e) |
02 | { |
03 |
04 | //创建容器。 |
05 | XmlDocument doc = new XmlDocument(); |
06 | //将空的文档加载到XNL文件。 |
07 | doc.LoadXml( "<A></A>" ); |
08 | //将找到的根节点进行存储。 |
09 | XmlNode root = doc.SelectSingleNode( "A" ); |
10 | //创建相应的元素。 |
11 | XmlElement B = doc.CreateElement( "B" ); |
12 | XmlElement C = doc.CreateElement( "C" ); |
13 | XmlElement D = doc.CreateElement( "D" ); |
14 | XmlElement E = doc.CreateElement( "E" ); |
15 | //赋值。 |
16 | C.InnerText = textBox1.Text.ToString().Trim(); |
17 | D.InnerText = textBox2.Text.ToString().Trim(); |
18 | E.InnerText = textBox3.Text.ToString().Trim(); |
19 | //相应的添加节点 |
20 | B.AppendChild(C); |
21 | B.AppendChild(D); |
22 | root.AppendChild(B); |
23 | root.AppendChild(E); |
24 | //进行保存。位置在EXE路径下。 |
25 | try |
26 | { |
27 | doc.Save( "setting.xml" ); |
28 | MessageBox.Show( "写入成功!" ); |
29 | } |
30 | catch |
31 | { |
32 | MessageBox.Show( "写入错误!" ); |
33 | } |
34 | } |
[代码] XML读取
01 | private void button2_Click( object sender, EventArgs e) |
02 | { |
03 | //产生读取器。 |
04 | XmlTextReader read; |
05 | //判断是否存在外部xml,如存在则读取外部的资源,如不存在则读取内部资源。 |
06 | if (File.Exists( "setting.xml" )) |
07 | { |
08 | read = new XmlTextReader( "setting.xml" ); |
09 | } |
10 | else |
11 | { |
12 | Assembly asm = Assembly.GetExecutingAssembly(); |
13 | Stream sm = asm.GetManifestResourceStream( "Tetris.setting.xml" ); |
14 | read = new XmlTextReader(sm); |
15 | } |
16 | //key作为存储器进行信息存放。 |
17 | string key = "" ; |
18 | try |
19 | { |
20 | //循环进行读取。 |
21 | while (read.Read()) |
22 | { |
23 | if (read.Name == "C" ) |
24 | { |
25 | key = read.ReadElementString().Trim(); |
26 | textBox1.Text = key.ToString().Trim(); |
27 | } |
28 | else if (read.Name == "D" ) |
29 | { |
30 | key = read.ReadElementString().Trim(); |
31 | textBox2.Text = key.ToString().Trim(); |
32 | } |
33 | else if (read.Name == "E" ) |
34 | { |
35 | key = read.ReadElementString().Trim(); |
36 | textBox3.Text = key.ToString().Trim(); |
37 | } |
38 | } |
39 | } |
40 | //异常处理。 |
41 | catch (Exception ex) |
42 | { |
43 | MessageBox.Show(ex.ToString()); |
44 | } |
45 | //关闭读取器。 |
46 | finally |
47 | { |
48 | if (read != null ) |
49 | { |
50 | read.Close(); |
51 | } |
52 | } |
53 | } |
[图片] 生成的XML.PNG
![](https://i-blog.csdnimg.cn/blog_migrate/fe2a8f9d38a549cf1fac51f9f63f6265.png)