public static System.Collections.ArrayList GetData() { System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("abc", typeof(string)); dt.Columns.Add("def", typeof(int)); System.Data.DataRow dr = dt.NewRow(); dr["abc"] = "test1"; dr["def"] = 123; dt.Rows.Add(dr); dr = dt.NewRow(); dr["abc"] = "test2"; dr["def"] = 456; dt.Rows.Add(dr); System.Data.DataSet ds = new System.Data.DataSet(); ds.Tables.Add(dt); cSessionData ObjectToSerialize1 = new cSessionData("key1", "value1"); cSessionData ObjectToSerialize2 = new cSessionData("key2", "value2"); cSessionData ObjectToSerialize3 = new cSessionData("key3", dt); System.Collections.ArrayList al = new System.Collections.ArrayList(); al.Add(ObjectToSerialize1); al.Add(ObjectToSerialize2); al.Add(ObjectToSerialize3); return(al); }
public static void Deserialize(string strSOAP) { System.Collections.ArrayList myal = (System.Collections.ArrayList)DeSerializeSOAP(strSOAP); foreach (cSessionData SessionData in myal) { Console.WriteLine(SessionData.key + "=" + SessionData.value); } cSessionData MySessionData = (cSessionData)myal[2]; Console.WriteLine(MySessionData.key + "=" + MySessionData.value); System.Data.DataTable d = (System.Data.DataTable)MySessionData.value; Console.WriteLine(d.Rows[0]["def"]); }
public static void Serialization() { // http://www.java2s.com/Tutorial/CSharp/0220__Data-Structure/SerializeanArrayListobjecttoabinaryfile.htm // http://www.java2s.com/Tutorial/CSharp/0220__Data-Structure/DeserializeanArrayListobjectfromabinaryfile.htm System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("abc", typeof(string)); dt.Columns.Add("def", typeof(int)); System.Data.DataRow dr = dt.NewRow(); dr["abc"] = "test1"; dr["def"] = 123; dt.Rows.Add(dr); dr = dt.NewRow(); dr["abc"] = "test2"; dr["def"] = 456; dt.Rows.Add(dr); System.Data.DataSet ds = new System.Data.DataSet(); ds.Tables.Add(dt); Console.WriteLine("tname: " + dt.GetType().FullName); cSessionData ObjectToSerialize1 = new cSessionData("key1", "value1"); cSessionData ObjectToSerialize2 = new cSessionData("key2", "value2"); cSessionData ObjectToSerialize3 = new cSessionData("key3", dt); System.Collections.ArrayList al = new System.Collections.ArrayList(); al.Add(ObjectToSerialize1); al.Add(ObjectToSerialize2); al.Add(ObjectToSerialize3); string strSerializedItem = Serialize(al); Console.WriteLine(strSerializedItem); Deserialize(strSerializedItem); }
static void Deserialize(string strXML) { Type[] theExtraTypes = new Type[2]; theExtraTypes[0] = typeof(System.Collections.ArrayList); theExtraTypes[1] = typeof(cSessionData); System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(System.Collections.ArrayList), theExtraTypes); System.IO.StringReader sr = new System.IO.StringReader(strXML); System.Collections.ArrayList myal = (System.Collections.ArrayList)ser.Deserialize(sr); foreach (cSessionData SessionData in myal) { Console.WriteLine(SessionData.key + "=" + SessionData.value); } cSessionData MySessionData = (cSessionData)myal[2]; Console.WriteLine(MySessionData.key + "=" + MySessionData.value); System.Data.DataTable d = (System.Data.DataTable)MySessionData.value; Console.WriteLine(d.Rows[0]["def"]); } // End Sub Deserialize