您的位置:首页 > 其它

序列化与反序列化成XML

2016-07-17 15:52 411 查看
http://blog.itpub.net/12639172/viewspace-490786/

现在XML都普遍的用到了很多地方,它的平台无关、方便、结构化、适用性的特点让人不得不去接受它,在C#中的序列化中也有提到将对象转换成XML格式然后进行传递,去支持其他的平台或程序,昨天小小的研究了一下一个东东:
首先如果要用到序列化对象到XML,请先引入命名空间:
using System.Xml.Serialization;
然后我们会用到它下面的一个类:XmlSerializer
这个类中为我们定义好了序列化对象到XML的方法,源代码如下:

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

namespace IoText
{
public class Program
{
static void Main(string[] args)
{
User user = new User();
user.age = 21;
user.name = "小秒";
user.six = Six.女;
User user2 = new User() { name = "xiao", six = Six.女, age = 16 };
List<User> UserList = new List<User>();
UserList.Add(user);
UserList.Add(user2);

StreamWriter sw=new StreamWriter("http://www.cnblogs.com/user.xml",false);
XmlSerializer xs = new XmlSerializer(typeof(List<User>));
xs.Serialize(sw, UserList);

sw.Flush();
sw.Close();

StreamReader sr = new StreamReader("http://www.cnblogs.com/user.xml");//定义流将xml读出来
object o =  xs.Deserialize(sr);//反序列化成object
List<IoText.User> users = o as List<User>;

Console.WriteLine("数量:{0},user1:{1},{2},{3},;user2:{4},{5},{6}", users.Count, users[0].name, users[0].age, users[0].six, users[1].name, users[1].age, users[1].six);//将对象内容打印出来

}
}
}

这样就完成了序列化和反序列化的操作!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: