您的位置:首页 > 编程语言 > C#

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

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

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

1.创建简单的XML文件

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace CreateXml
{
class Program
{
static void Main(string[] args)
{
Program app = new Program();
app.CreateXmlFile();
}
public void CreateXmlFile()
{
XmlDocument xmlDoc = new XmlDocument();
//创建类型声明节点
XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
xmlDoc.AppendChild(node);
//创建根节点
XmlNode root = xmlDoc.CreateElement("User");
xmlDoc.AppendChild(root);
CreateNode(xmlDoc, root, "name", "xuwei");
CreateNode(xmlDoc, root, "sex", "male");
CreateNode(xmlDoc, root, "age", "25");
try
{
xmlDoc.Save("c://data2.xml");
}
catch (Exception e)
{
//显示错误信息
Console.WriteLine(e.Message);
}
//Console.ReadLine();

}

/// <summary>
/// 创建节点
/// </summary>
/// <param name="xmldoc"></param>  xml文档
/// <param name="parentnode"></param>父节点
/// <param name="name"></param>  节点名
/// <param name="value"></param>  节点值
///
public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)
{
XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
node.InnerText = value;
parentNode.AppendChild(node);
}
}
}


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

<?xml version="1.0" encoding="utf-8"?>
<User>
<name>xuwei</name>
<sex>male</sex>
<age>25</age>
</User>


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

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

public void CreateXmlFile()
{
XmlDocument xmlDoc = new XmlDocument();
//创建类型声明节点
XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
xmlDoc.AppendChild(node);
//创建根节点
XmlNode root = xmlDoc.CreateElement("Users");
xmlDoc.AppendChild(root);

XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
CreateNode(xmlDoc, node1, "name", "xuwei");
CreateNode(xmlDoc, node1, "sex", "male");
CreateNode(xmlDoc, node1, "age", "25");
root.AppendChild(node1);

XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
CreateNode(xmlDoc, node2, "name", "xiaolai");
CreateNode(xmlDoc, node2, "sex", "female");
CreateNode(xmlDoc, node2, "age", "23");
root.AppendChild(node2);

try
{
xmlDoc.Save("c://data5.xml");
}
catch (Exception e)
{
//显示错误信息
Console.WriteLine(e.Message);
}
//Console.ReadLine();

}


生成的xml文件内容如下:

<?xml version="1.0" encoding="utf-8"?>
<Users>
<User>
<name>xuwei</name>
<sex>male</sex>
<age>25</age>
</User>
<User>
<name>xiaolai</name>
<sex>female</sex>
<age>23</age>
</User>
</Users>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: