定义一个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);
    }

相关文章:

  • 2022-12-23
  • 2021-08-24
  • 2021-07-24
  • 2021-05-21
  • 2021-05-24
  • 2021-12-31
  • 2021-06-28
  • 2021-09-15
猜你喜欢
  • 2021-08-27
  • 2021-12-03
  • 2022-02-14
  • 2022-12-23
  • 2021-10-20
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案