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

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

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

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

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.         ///     
  42.         /// 创建节点    
  43.         ///     
  44.         ///   xml文档  
  45.         /// 父节点    
  46.         ///   节点名  
  47.         ///   节点值  
  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. "1.0" encoding="utf-8"?>  
  2.   
  3.   xuwei  
  4.   male  
  5.   25  
  6.   

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. "1.0" encoding="utf-8"?>  
  2.   
  3.     
  4.     xuwei  
  5.     male  
  6.     25  
  7.     
  8.     
  9.     xiaolai  
  10.     female  
  11.     23  
  12.     
  13.   

你可能感兴趣的:(在C#中创建和读取XML文件)