ArrayList aList = new ArrayList();
aList.Add("aaa");
aList.Add("bbb");
XmlSerializer ser = new XmlSerializer(typeof(ArrayList));
System.IO.MemoryStream mem = new MemoryStream();
System.Xml.XmlTextWriter aa = new System.Xml.XmlTextWriter (mem, System.Text.Encoding.Default);
ser.Serialize(aa,aList);
long ppp = mem.Length;
Console.WriteLine (ppp);
Console.ReadLine();
aa.Close();当我序列化ArrayList时,以上程序正常运行-----------------------------[SerializableAttribute]
class temp
{
string aaa="aaa";
public string abc
{
get
{
return aaa;
}set
{
aaa = value;
}
}
temp aList = new temp();
aList.Add("aaa");
aList.Add("bbb");
XmlSerializer ser = new XmlSerializer(typeof(ArrayList));
System.IO.MemoryStream mem = new MemoryStream();
System.Xml.XmlTextWriter aa = new System.Xml.XmlTextWriter (mem, System.Text.Encoding.Default);
ser.Serialize(aa,aList);long ppp = mem.Length;//到这时程序出错。说是XML格式错误。
Console.WriteLine (ppp);
Console.ReadLine();
aa.Close();
aList.Add("aaa");
aList.Add("bbb");
XmlSerializer ser = new XmlSerializer(typeof(ArrayList));
System.IO.MemoryStream mem = new MemoryStream();
System.Xml.XmlTextWriter aa = new System.Xml.XmlTextWriter (mem, System.Text.Encoding.Default);
ser.Serialize(aa,aList);
long ppp = mem.Length;
Console.WriteLine (ppp);
Console.ReadLine();
aa.Close();当我序列化ArrayList时,以上程序正常运行-----------------------------[SerializableAttribute]
class temp
{
string aaa="aaa";
public string abc
{
get
{
return aaa;
}set
{
aaa = value;
}
}
temp aList = new temp();
aList.Add("aaa");
aList.Add("bbb");
XmlSerializer ser = new XmlSerializer(typeof(ArrayList));
System.IO.MemoryStream mem = new MemoryStream();
System.Xml.XmlTextWriter aa = new System.Xml.XmlTextWriter (mem, System.Text.Encoding.Default);
ser.Serialize(aa,aList);long ppp = mem.Length;//到这时程序出错。说是XML格式错误。
Console.WriteLine (ppp);
Console.ReadLine();
aa.Close();
这句话出错
因为自定义类型序列化的时候需要说明
System.Type aType(1)
aType(1) = typeof(temp)
XmlSerializer ser = new XmlSerializer(typeof(ArrayList),aType);
aList.Add("aaa");
aList.Add("bbb");
XmlSerializer ser = new XmlSerializer(typeof(ArrayList));??
写错了吧?aList应该是temp类型,为何是ARRAYLIST?