序列化与反序列化成XML

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);//将对象内容打印出来

        }
    }
}
 
          
这样就完成了序列化和反序列化的操作!

 

posted @ 2016-07-17 15:52  shiningrise  阅读(238)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css