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);
        }
  • 相关阅读:
    EntityFramework+MySql 笔记2
    EntityFramework+MySql 笔记1
    软件详细设计文档(终)
    软件测试文档(终)
    软件测试计划文档(初)
    软件概要设计文档(终)
    软件需求规格说明文档(终)
    例会记录(六)
    例会记录(五)
    例会记录(四)
  • 原文地址:https://www.cnblogs.com/godwar/p/1128132.html
Copyright © 2011-2022 走看看