C#操作讀取、寫入XML文檔的實(shí)用方法
本文給大家分享一下C#操作(讀取、寫入)XML文檔的實(shí)用方法,這種方法主要是對(duì)比較規(guī)范的XML文檔進(jìn)行操作,因?yàn)樗╔ML文檔)和類對(duì)象是嚴(yán)格對(duì)應(yīng)的,否則在反序列或序列化的時(shí)候會(huì)出現(xiàn)錯(cuò)誤。其他的不用多說,直接看示例代碼吧:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace _01XMLSerialize
{
class Program
{
private static List<UserInfo> list = new List<UserInfo>()
{
new UserInfo()
{
Id = 1,
UserName = "張三",
UserPass = "FDASDFAS",
Email = "zhangsan@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 2,
UserName = "李四",
UserPass = "FDASDFAS",
Email = "lisi@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 3,
UserName = "王五",
UserPass = "FDASDFAS",
Email = "wangwu@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 4,
UserName = "趙六",
UserPass = "FDASDFAS",
Email = "zhaoliu@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 5,
UserName = "田七",
UserPass = "FDASDFAS",
Email = "tianqi@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 6,
UserName = "王八",
UserPass = "FDASDFAS",
Email = "wangba@163.com",
RegTime = DateTime.Now
}
};
static void Main(string[] args)
{
//序列化對(duì)象生成文件
WriteSingleXml();
//反序列化文件生成對(duì)象
ReadListXml();
Console.ReadKey();
}
/// <summary>
/// 從XML文件中反序列化對(duì)象
/// </summary>
private static void ReadListXml()
{
//反序列化文件
Console.WriteLine("反序列化XML文件為集合");
var reader = new XmlSerializer(typeof(List<UserInfo>));
using (var fs = File.OpenRead("UserInfo.xml"))
{
var result = reader.Deserialize(fs) as List<UserInfo>;
result.ForEach(Console.WriteLine);
}
Console.WriteLine("反序列化成功");
}
/// <summary>
/// 序列化對(duì)象到XML文件
/// </summary>
private static void WriteSingleXml()
{
//序列化集合為xml文件
Console.WriteLine("序列化集合為XML文件");
var reader = new XmlSerializer(typeof(List<UserInfo>));
//寫入文件
using (var fs = File.OpenWrite("UserInfo.xml"))
{
reader.Serialize(fs, list);
}
Console.WriteLine("寫入成功");
}
}
}
運(yùn)行結(jié)果如圖:

生成的XML文檔如下:
<?xml version="1.0"?> <ArrayOfUserInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <UserInfo> <Id>1</Id> <UserName>張三</UserName> <UserPass>FDASDFAS</UserPass> <Email>zhangsan@163.com</Email> <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime> </UserInfo> <UserInfo> <Id>2</Id> <UserName>李四</UserName> <UserPass>FDASDFAS</UserPass> <Email>lisi@163.com</Email> <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime> </UserInfo> <UserInfo> <Id>3</Id> <UserName>王五</UserName> <UserPass>FDASDFAS</UserPass> <Email>wangwu@163.com</Email> <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime> </UserInfo> <UserInfo> <Id>4</Id> <UserName>趙六</UserName> <UserPass>FDASDFAS</UserPass> <Email>zhaoliu@163.com</Email> <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime> </UserInfo> <UserInfo> <Id>5</Id> <UserName>田七</UserName> <UserPass>FDASDFAS</UserPass> <Email>tianqi@163.com</Email> <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime> </UserInfo> <UserInfo> <Id>6</Id> <UserName>王八</UserName> <UserPass>FDASDFAS</UserPass> <Email>wangba@163.com</Email> <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime> </UserInfo> </ArrayOfUserInfo>
以上就是本文的全部內(nèi)容,希望對(duì)大家學(xué)習(xí)C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C# PictureBox圖片控件實(shí)現(xiàn)圖片交換
在c#中可以使用PictureBox控件來呈現(xiàn)圖像,本文主要介紹了C# PictureBox實(shí)現(xiàn)圖片交換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06
C#使用Excel動(dòng)態(tài)函數(shù)實(shí)現(xiàn)生成依賴列表
這篇文章主要為大家詳細(xì)介紹了如何在C#中使用?Excel?動(dòng)態(tài)函數(shù)生成依賴列表,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
UnityShader使用速度映射圖實(shí)現(xiàn)運(yùn)動(dòng)模糊
這篇文章主要為大家詳細(xì)介紹了UnityShader使用速度映射圖實(shí)現(xiàn)運(yùn)動(dòng)模糊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C#實(shí)現(xiàn)JSON解析器MojoUnityJson功能(簡單且高效)
MojoUnityJson 是使用C#實(shí)現(xiàn)的JSON解析器 ,算法思路來自于游戲引擎Mojoc的C語言實(shí)現(xiàn) Json.h。這篇文章主要介紹了C#實(shí)現(xiàn)JSON解析器MojoUnityJson的方法,需要的朋友可以參考下2018-01-01
C#獲取Word文檔中所有表格的實(shí)現(xiàn)代碼分享
這篇文章主要介紹了C#獲取Word文檔中所有表格的實(shí)現(xiàn)代碼分享,小編親測可用,需要的朋友可以參考下2014-09-09

