一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 探討:使用XMLSerialize 序列化與反序列化

探討:使用XMLSerialize 序列化與反序列化

2020-04-10 15:41PHP教程網(wǎng) PHP教程

本篇文章是對使用XMLSerialize 序列化與反序列化進行了詳細的分析介紹,需要的朋友參考下

概念:XML序列化是將公共字段和屬性轉(zhuǎn)化為序列格式(這里指XML),以便存儲或傳輸?shù)倪^程。反序列化則是從XML中重新創(chuàng)建原始狀態(tài)的對象.

復制代碼 代碼如下:


    class SerializeDemo
    {
        static void Main()
        {
            EmployeeCollection employeeCollection = new EmployeeCollection()
            {
                Employees = Employeer.Employees()
            };
            XmlSerializer serialize = new XmlSerializer(typeof(EmployeeCollection));
            string filePath = @"E:\PProject\Test\Employee.xml";
             SerializeEmployee(serialize, filePath, employeeCollection);
            DeserializeEmployee(serialize, filePath);
        }
        static void SerializeEmployee(XmlSerializer serialize, string filePath, EmployeeCollection employeeCollection)
        {
            using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                serialize.Serialize(fs, employeeCollection);
            }
        }
        static void DeserializeEmployee(XmlSerializer serialize,string filePath)
        {
            using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
            {
                EmployeeCollection collection = (EmployeeCollection)serialize.Deserialize(fs);
                collection.Employees.ForEach(e => Console.WriteLine("Name:{0},Gender:{1},Age:{2},Education:{3}", e.userName, e.gender, e.age, e.education));
            }
        }
    }
    [Serializable]
    public class EmployeeCollection
    {
        public List<Employeer> Employees { get; set; }
    }
    [Serializable]
    public class Employeer
    {
        public string userId { get; set; }
        public string userName { get; set; }
        public string gender { get; set; }
        public int age { get; set; }
        public List<WorkExperience> workExperience { get; set; }
        public string education { get; set; }
        public static List<Employeer> Employees()
        {
           return new List<Employeer>()
           {
                new Employeer()
                {  
                    userId = "0001",
                    userName = "guoHu",
                    gender="Man",
                    age=25,education="underGraduate",
                    workExperience = WorkExperience.GetWorkExperience("0001")
                }
           };

        }
    }
    [Serializable]
    public class WorkExperience
    {
        public string userId { get; set; }
        public string companyName { get; set; }
        public string seniority { get; set; }

        public static List<WorkExperience> GetWorkExperience(string userId)
        {
            List<WorkExperience> workExperience = new List<WorkExperience>();
            Unity unity = Unity.GetInstance();
            DataTable table = new DataTable();
            unity.GetTable(out table);

            var experiences = (from experience in table.AsEnumerable()
                               where experience.Field<string>("UserId") == userId
                               select new
                               {
                                   companyName = experience.Field<string>("CompanyName"),
                                   seniority = experience.Field<string>("Seniority")
                               }).ToList();
            experiences.ForEach(e => workExperience.Add(new WorkExperience() { companyName = e.companyName, seniority = e.seniority }));
            return workExperience;
        }
    }
    public class Unity
    {
        public static DataTable tables = new DataTable();
        public static DataRow dr;
        public static DataColumn dc = new DataColumn();
        public static object objLock = new object();
        public static Unity unityInstance;
        private Unity()
        {

        }
        public static Unity GetInstance()
        {
            if (unityInstance == null)
            {
                lock (objLock)
                {
                    if (unityInstance == null)
                    {
                        unityInstance = new Unity();
                    }
                }
            }
            return unityInstance;
        }
        public void GetTable(out DataTable dt)
        {
            unityInstance.CreateTable();

            dr = tables.NewRow();
            dr["UserId"] = "0001";
            dr["CompanyName"] = "WireSoft";
            dr["Seniority"] = "2012.02-2012.05";
            tables.Rows.Add(dr);
            dr = tables.NewRow();
            dr["UserId"] = "0001";
            dr["CompanyName"] = "Jin Xun";
            dr["Seniority"] = "2009.07-2011.02";
            tables.Rows.Add(dr);
            dr = tables.NewRow();
            dr["UserId"] = "0002";
            dr["CompanyName"] = "Hua Wei";
            dr["Seniority"] = "2011.07-";
            tables.Rows.Add(dr);
            dt = tables.Copy();
        }
        public  void CreateTable()
        {
            dc = new DataColumn("UserId", System.Type.GetType("System.String"));
            tables.Columns.Add(dc);
            dc = new DataColumn("companyName", System.Type.GetType("System.String"));
            tables.Columns.Add(dc);
            dc = new DataColumn("seniority", System.Type.GetType("System.String"));
            tables.Columns.Add(dc);
        }
    }


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品嫩草影院一二三区入口 | 亚洲天堂网在线观看视频 | 精品国产欧美一区二区五十路 | 国产美女久久精品香蕉69 | 奇米7777第四色 | 四虎1515hhh co m | 高清男的插曲女的 欢迎你老狼 | 高清在线观看免费入口 | 久久精品在现线观看免费15 | 欧美最猛性xxxxx男男 | 91视在线国内在线播放酒店 | 日韩欧美国产一区二区三区 | 2021最新国产成人精品视频 | 无限资源在线观看完整版免费下载 | 99久久香蕉国产线看观香 | 非洲黑人女bbwxxxx | 91制片厂制作传媒破解版免费 | 欧美美女被爆操 | 天美传媒传媒免费观看 | 成人影院在线观看 | 精品日韩二区三区精品视频 | 国产成人手机在线 | 免费观看在线 | dyav午夜片 | 四虎国产视频 | 四虎免费永久观看 | 日本中文字幕不卡在线一区二区 | 色中色官网 | 高清视频在线播放 | 手机看片日韩1024你懂的首页 | 娇妻被健身教练挺进小说阅读 | 手机能看的黄色网站 | 国产91精选学生在线观看 | 天天综合亚洲 | 色佬头| 国产精品3p视频 | 久久精品热在线观看85 | 99这里只有精品在线 | 99资源在线观看 | 欧美人体高清在线观看ggogo | 国产欧美日韩亚洲精品区2345 |