C# 序列化和反序列化

 //序列化
             string[] arr = {"a", "b", "c"};
            System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(string[]));
            System.IO.MemoryStream mem = new MemoryStream();
            System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(mem, Encoding.Default);
            ser.Serialize(writer, arr);
            writer.Close();

            string 序列后的结果 = Encoding.Default.GetString(mem.ToArray());
            mem.Dispose();

            //反序列化
             string xml = "<?xml version=\"1.0\" encoding=\"gb2312\"?><BusResults xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"><_ret><string>000</string><string>568481</string></_ret></BusResults> "; System.Xml.Serialization.XmlSerializer dser = new System.Xml.Serialization.XmlSerializer(typeof(BusResults)); StreamReader mem2 = new StreamReader(new MemoryStream(System.Text.Encoding.Default.GetBytes(xml)), System.Text.Encoding.Default); BusResults arr2 = (BusResultsdser.Deserialize(mem2);

 返回结果集:

 public class BusResults
        {
            public string[] _ret;
        }

 

posted @ 2012-06-27 20:21  hejiyong  阅读(101)  评论(0)    收藏  举报