using System;
using System.Xml;
using System.IO;
using System.Xml.Serialization;
using System.Text;
using System.Collections;
namespace test
{
/// <summary>
/// SerializationHelper 的摘要说明。
/// </summary>
public class SerializationHelper
{
public SerializationHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="al"></param>
/// <param name="type">ArrayList中的自定义类的类型</param>
/// <returns></returns>
public static string SerializeArrayList(ArrayList al,Type[] extratype)
{
XmlSerializer xs = new XmlSerializer(typeof(ArrayList),extratype);
MemoryStream ms = new MemoryStream();
XmlTextWriter tw = new XmlTextWriter(ms, Encoding.Default);
xs.Serialize(tw, al);
tw.Close();
return Encoding.Default.GetString(ms.ToArray());
}
/// <summary>
/// 反序列化
/// </summary>
/// <param name="serQuestions"></param>
/// <param name="type"></param>
/// <param name="extratype"></param>
/// <returns></returns>
public static ArrayList DeserializeArrayList(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);
}
}
}