xml和对象 转换

//测试数据
static List<User> list = new List<User>()
        {
            new User(){id=1001	 ,name="语文",buyer="A"},
            new User(){id=1001	 ,name="语文",buyer="A"},
            new User(){id=1001	 ,name="数学",buyer="A"},
            new User(){id=1001	 ,name="数学",buyer="B"},
            new User(){id=1001	 ,name="数学",buyer="B"},
            new User(){id=1002	 ,name="英语",buyer="C"},
            new User(){id=1005	 ,name="英语",buyer="A"},
            new User(){id=1005	 ,name="英语",buyer="A"},
            new User(){id=1005	 ,name="英语",buyer="B"},
            new User(){id=1004	 ,name="计算机",buyer="A"},
            new User(){id=1007	 ,name="计算机",buyer="C"},
        };
//实体模型
        public class User
        {
            public int id { get; set; }
            public virtual string name { get; set; }
            public virtual string buyer { get; set; }
            public virtual string idArr { get; set; }
            public virtual DateTime expiredTime { get; set; }
        }

        static void Main(string[] args)
        {
            //测试数据  xml
            string xml = XMLSerialize<List<User>>(list);

            //xml 转 对象
            List<User> ulist = XmlDeserialize<List<User>>(xml);
            //输出查看结果
            ulist.ForEach(x => Console.WriteLine(x.name));

            Console.ReadLine();
        }

        //序列化xml
        public static string XMLSerialize<T>(T entity)
        {
            StringBuilder buffer = new StringBuilder();

            XmlSerializer serializer = new XmlSerializer(typeof(T));
            using (TextWriter writer = new StringWriter(buffer))
            {
                serializer.Serialize(writer, entity);
            }

            return buffer.ToString();

        }

        //反序列化xml
        public static T XmlDeserialize<T>(string xmlString)
        {
            T myObject;
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            StringReader reader = new StringReader(xmlString);
            myObject = (T)serializer.Deserialize(reader);
            reader.Close();
            return myObject;
        }

posted @ 2017-12-27 10:29  正怒月神  阅读(161)  评论(0编辑  收藏  举报