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

来源:互联网 发布:kali linux是什么 编辑:程序博客网 时间:2024/05/22 08:01

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

1.创建简单的XML文件

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

  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文件,文件内容为

  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()方法进行简单修改即可,修改如下:

  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文件内容如下:

  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>  

0 0
原创粉丝点击