在C#中创建和读取XML文件

项目中需要将前台页面中的信息保存下来并存储为xml文件格式到数据库中去。因此我先在这里通过一个小实例来学习xml的创建与读取。

本文部分参考http://blog.csdn.net/lengjing126/archive/2009/08/12/4438042.aspx

1.创建简单的XML文件

为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下:

View Code
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Xml;
 6 
 7 namespace CreateXml
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Program app = new Program();
14             app.CreateXmlFile();          
15         }
16         public void CreateXmlFile()
17         {
18             XmlDocument xmlDoc = new XmlDocument();
19             //创建类型声明节点
20             XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
21             xmlDoc.AppendChild(node);
22             //创建根节点
23             XmlNode root = xmlDoc.CreateElement("User");
24             xmlDoc.AppendChild(root);
25             CreateNode(xmlDoc, root, "name", "xuwei");
26             CreateNode(xmlDoc, root, "sex", "male");
27             CreateNode(xmlDoc, root, "age", "25");
28             try
29             {
30                 xmlDoc.Save("c://data2.xml");
31             }
32             catch (Exception e)
33             {
34                 //显示错误信息
35                 Console.WriteLine(e.Message);
36             }
37             //Console.ReadLine();
38 
39         }
40 
41         /// <summary>  
42         /// 创建节点  
43         /// </summary>  
44         /// <param name="xmldoc"></param>  xml文档
45         /// <param name="parentnode"></param>父节点  
46         /// <param name="name"></param>  节点名
47         /// <param name="value"></param>  节点值
48         /// 
49         public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)
50         {
51             XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
52             node.InnerText = value;
53             parentNode.AppendChild(node);
54         }
55     }  
56 }

这样会在C盘根目录下创建data2.xml文件,文件内容为

View Code
1 <?xml version="1.0" encoding="utf-8"?>
2 <User>
3   <name>xuwei</name>
4   <sex>male</sex>
5   <age>25</age>
6 </User>

2.创建多节点多层级的XML文件

只需要对CreateXmlFile()方法进行简单修改即可,修改如下:

View Code
 1 public void CreateXmlFile()
 2         {
 3             XmlDocument xmlDoc = new XmlDocument();
 4             //创建类型声明节点
 5             XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
 6             xmlDoc.AppendChild(node);
 7             //创建根节点
 8             XmlNode root = xmlDoc.CreateElement("Users");
 9             xmlDoc.AppendChild(root);
10            
11             XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
12             CreateNode(xmlDoc, node1, "name", "xuwei");
13             CreateNode(xmlDoc, node1, "sex", "male");
14             CreateNode(xmlDoc, node1, "age", "25");
15             root.AppendChild(node1);
16 
17             XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
18             CreateNode(xmlDoc, node2, "name", "xiaolai");
19             CreateNode(xmlDoc, node2, "sex", "female");
20             CreateNode(xmlDoc, node2, "age", "23");
21             root.AppendChild(node2);
22 
23             try
24             {
25                 xmlDoc.Save("c://data5.xml");
26             }
27             catch (Exception e)
28             {
29                 //显示错误信息
30                 Console.WriteLine(e.Message);
31             }
32             //Console.ReadLine();
33 
34         }

生成的xml文件内容如下:

View Code
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <Users>
 3   <User>
 4     <name>xuwei</name>
 5     <sex>male</sex>
 6     <age>25</age>
 7   </User>
 8   <User>
 9     <name>xiaolai</name>
10     <sex>female</sex>
11     <age>23</age>
12   </User>
13 </Users>

说明:本文出处:http://blog.csdn.net/xw13106209/article/details/6367407

原文地址:https://www.cnblogs.com/zxbzl/p/2948086.html