在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