zoukankan      html  css  js  c++  java
  • ArrayList的序列化

     
    定义一个ArrayList,存放Int,String等基本类型可以被序列化。
    自定义一个类,也可以被序列化。
    但是把类添加到ArrayList,序列化有点问题,后来发现需要制定ExtraType[]参数。
        [WebMethod]
        public string SerializeQuestionsByDatetime()
        {
            ArrayList questions = new ArrayList();
            foreach (QuestionModel model in Questions.GetQuestionsByStateScoreOrDatetime(2, 12, 1, 1))
            {
                questions.Add(model);
            }
            Type[] extra = new Type[1];
            extra[0] = typeof(QuestionModel);
            XmlSerializer xs = new XmlSerializer(typeof(ArrayList),extra);
            MemoryStream ms = new MemoryStream();
            XmlTextWriter tw = new XmlTextWriter(ms, Encoding.Default);
            xs.Serialize(tw, questions);
            tw.Close();
            return Encoding.Default.GetString(ms.ToArray());
        }
    反序列化的代码
        public ArrayList DeserializeQuestionsByDatetime(string serQuestions, Type type, Type[] extratype)
        {
            XmlSerializer xs = new XmlSerializer(type, extratype);
            StreamReader sr = new StreamReader(new MemoryStream(System.Text.Encoding.Default.GetBytes(serQuestions)), System.Text.Encoding.Default);
            return (ArrayList)xs.Deserialize(sr);
        }
  • 相关阅读:
    JetBrains下载历史版本
    php入门笔记
    Ajax获取服务器信息
    Ubuntu上安装PHP环境-mysql+apache+php-Linux操作系统
    Ubuntu彻底删除/卸载mysql,php,apache
    轻松理解JS基本包装对象
    JS事件委托
    浅谈JS事件冒泡
    JS闭包那些事
    浅谈JS的变量提升
  • 原文地址:https://www.cnblogs.com/godwar/p/1128132.html
Copyright © 2011-2022 走看看