偶也碰到过这样的问题,是不是ArrayList不能序列化啊,用其他对象好像是可以得阿
解决方案 »
- 用C# WebBrowser打制网页浏览器
- 【新手初级】为何加上这行代码,输出xml文件格式就不对了呢?
- repeater怎样获取id,然后传到treeview里的checkbox中?????
- 谁有免费C# 混淆器 推荐一个吧
- 求助!!!我用C#语言,通过Socket同作为客户端的一个芯片进行通信的问题
- Com object with CLSID {XXXX} is either not valid or not registered 如何解決?
- 小问题,高分求解!急!!!
- 出个难题,谁先作出来给谁100分!!
- 【简单问题】求助各位啦
- 发布的时候错误提示"无法写入清单"是怎么回事呢?
- 请教使用XmlSerializer序列化对象时的一个异常错误
- 菜鸟问题,向各位请教了
using System;
using System.IO;
using System.Xml.Serialization;
using System.Collections;
using System.Xml;public class MyClass
{
[XmlElement(typeof(MyTestClass)),
XmlElement(typeof(int)),
XmlElement(typeof(string)),
XmlElement(typeof(string[]))]
public ArrayList MyContainer;
}
public class MyTestClass
{
public string Name;
}
public class Test
{
public static void Main()
{
string sFile = "OverrideElement.xml";
Test t = new Test();
t.SerializeObject(sFile);
Console.WriteLine("enter to deserialize");
Console.ReadLine();
t.DeserializeObject(sFile);
}
public void SerializeObject(string filename)
{
XmlSerializer xSer = new XmlSerializer(typeof(MyClass)); MyClass myMyClass = new MyClass(); myMyClass.MyContainer = new ArrayList();
MyTestClass myMyTestClass = new MyTestClass();
myMyTestClass.Name = "MyMyTestClass";
myMyClass.MyContainer.Add(myMyTestClass);
myMyClass.MyContainer.Add("String");
myMyClass.MyContainer.Add(100); string[] slist = {"hello","world"}; myMyClass.MyContainer.Add(slist); TextWriter writer = new StreamWriter(filename);
xSer.Serialize(writer, myMyClass);
writer.Close();
} public void DeserializeObject(string filename)
{
XmlSerializer xSer = new XmlSerializer(typeof(MyClass));
TextReader reader = new StreamReader(filename); MyClass myMyClass = (MyClass)xSer.Deserialize( reader); reader.Close(); foreach (object o in myMyClass.MyContainer)
{
Console.WriteLine("{0}:{1}", o.GetType().Name, o);
}
}
}
多谢,多谢