zoukankan      html  css  js  c++  java
  • 两种常用的序列化

    第一: 对Xml进行序列化

       

    
    
     public class Person
        {
            private string name;
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
    
            private string sex;
            public string Sex
            {
                get { return sex; }
                set { sex = value; }
            }
    
            private int age;
            public int Age
            {
                get { return age; }
                set { age = value; }
            }
    
    
        }
    
    

     类是必须的

     

      xml 序列化

      

     Person p = new Person(){Name = "张三",Sex = "",  Age = 19};
     XmlSerializer xs = new XmlSerializer(typeof(Person));
     using(FileStream fs = new FileStream(@"a.xml",FileModel.Create))
    {
          xs. Serialize(fs,p);
    }
    Console.WriteLine("xml序列化成功");

      xml 反序列化

    Person item = xs.Deserialize(new FileStream(@"a.xml",FileMode.Open)) as Person
    
    Console.WriteLine(string.Format("{0}	{1}	{2}",item.Name,item.Sex,item.Age))
    
    Console.ReadKey(); 

      常用序列化:

       

    List<Person> lst = new List<Person>();
    lst.Add(new Person("张三", 19));
      
    
    FileStream fs = new FileStream("a", FileMode.Create, FileAccess.Write);

    BinaryFormatter bf = new BinaryFormatter();
    bf.Serialize(fs,lst);

    Console.WriteLine("序列化成功")

     常用反序列化 :

    FileStream fs = new FileStream("1", FileMode.Open, FileAccess.Read);
    
    BinaryFormatter Debf = new BinaryFormatter();
    
    List<Person> ll = (List<Person>)Debf.Deserialize(fs);
    
    foreach (Person item in ll)
    {
         Console.WriteLine("{0}{1}", item.name, item.age);
    }

      用法不难。

      为什么需要序列化:

      传统的传输机制已经不能保证安全了,序列化可以让客户端和服务端之间的传输更加安全,序列化传输,对方反序列化接收,序列化后是一个16进制的文件。

      也常用。 

  • 相关阅读:
    docker镜像
    docker常用命令
    docker基础
    跨站脚本漏洞(XSS)基础
    Session、Cookie与Token
    linux之curl工具
    ssl证书与java keytool工具
    mysql主从复制
    linux之平均负载(学习笔记非原创)
    mysql8.0忘记密码如何操作?
  • 原文地址:https://www.cnblogs.com/duanshunjie/p/3751625.html
Copyright © 2011-2022 走看看