wtujoxk 发表于 2016-11-28 08:59:05

【序列化】XML 序列化 反序列化

本帖最后由 wtujoxk 于 2016-11-28 09:50 编辑

说明:
XML的序列化和反序列化,会在Debug下保存Test.xml文件


效果:




代码:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
namespace XML_Serialize
{
    class Program
    {
      static void Main(string[] args)
      {
            List<Information> serList = new List<Information>();
            string path = @"Test.xml";
            //赋值
            for (int i = 0; i < 5; i++)
            {
                serList.Add(new Information("名字" + i, 20 + i));
            }
            XMLSerialize(serList, path);
            List<Information> serTest = XMLDeserialize<List<Information>>(path);
            //输出返回的值
            foreach (var temp in serTest)
            {
                Console.WriteLine(temp.name);
                Console.WriteLine(temp.age);
            }
            Console.ReadKey();
      }
      //序列化
      static void XMLSerialize<T>(T obj, string path)
      {
            XmlSerializer xs = new XmlSerializer(typeof (T));
            Stream fs = new FileStream(path, FileMode.Create, FileAccess.ReadWrite);
            xs.Serialize(fs, obj);
            fs.Flush();
            fs.Close();
            fs.Dispose();
      }
      //反序列化
      static T XMLDeserialize<T>(string path)
      {
            XmlSerializer xs = new XmlSerializer(typeof (T));
            Stream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite);
            T serTest = (T) xs.Deserialize(fs);
            fs.Flush();
            fs.Close();
            fs.Dispose();
            return serTest;
      }
    }
}

public class Information
{
    public string name;
    public int age;
    public Information(string name, int age)
    {
      this.name = name;
      this.age = age;
    }
    //必须要有
    public Information()
    {
    }
}










chenhao93 发表于 2017-4-23 16:59:52

thank you !!!!

214679 发表于 2018-10-10 09:14:47

感谢分享!!

222103 发表于 2019-10-5 21:32:04

现在好像用的少

blackcatabc 发表于 2020-9-25 16:27:18

谢谢分享
页: [1]
查看完整版本: 【序列化】XML 序列化 反序列化