private void ser_XmlAttributeOverrideMappingEvent(object sender, XmlAttributeOverrideMappingArgs e) { // Add Array Items for Pages in DesignerPages //XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(DesignerPage), "DesignerPage",true); //e.XmlMemberOverrides.Add(typeof(DesignerPagesConfiguration), "Pages", e.XmlAttribute); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(DesignerPage), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(DesignerPage), "Type", "type"); }
public static void AddAttributeMemberMapping(XmlAttributeOverrideMappingArgs mappings, Type type, string member, string attributeName, string attributeNamespace) { XmlAttributes at = new XmlAttributes(); XmlAttributeAttribute att = new XmlAttributeAttribute(attributeName); att.Namespace = attributeNamespace; at.XmlAttribute = att; mappings.XmlMemberOverrides.Add(type, member, at); }
public static void AddTypeMemberMapping(XmlAttributeOverrideMappingArgs mappings, Type type, string typeName, string namespaces) { XmlAttributes at = new XmlAttributes(); XmlTypeAttribute att = new XmlTypeAttribute(typeName); att.Namespace = namespaces; at.XmlType = att; mappings.XmlMemberOverrides.Add(type, at); }
public static void AddMemberMapping(XmlAttributeOverrideMappingArgs mappings, string member) { mappings.XmlMemberOverrides.Add(mappings.Type, member, mappings.XmlAttribute); }
/// <summary> /// Contains the configuration section type mapping overrides. /// </summary> /// <param name="sender"> The sender object.</param> /// <param name="e"> The EventArgs arguments.</param> protected virtual void ConfigurationSectionOverrideTypeMapping(object sender, XmlAttributeOverrideMappingArgs e) { }
private void ser_XmlAttributeOverrideMappingEvent(object sender, XmlAttributeOverrideMappingArgs e) { // SessionApplication Namespace // http://schemas.ecyware.com/2005/01/Ecyware-GreenBlue-ScriptingApplication string namesp = "http://schemas.ecyware.com/2005/01/Ecyware-GreenBlue-ScriptingApplication"; XmlTypeSerializerHelper.AddTypeMemberMapping(e, typeof(Ecyware.GreenBlue.Protocols.Http.Scripting.ScriptingApplication),"ScriptingApplication",namesp); e.XmlAttribute = e.NewXmlAttribute; // Add Array Items for Tags in Ecyware.GreenBlue.HtmlDom.HtmlTagListXml XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlALinkTag),"HtmlAnchorLink", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlAnchorTag),"HtmlAnchor", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlButtonTag),"HtmlButton", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlInputTag),"HtmlInput", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTextAreaTag),"HtmlTextArea", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlLinkTag),"HtmlLink", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlSelectTag),"HtmlSelect", true); e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagListXml), "Tags", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; // Add Element member mapping for WebRequest XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(GetWebRequest), "GetSessionRequest"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(PostWebRequest), "PostSessionRequest"); e.XmlAttribute.XmlRoot = new System.Xml.Serialization.XmlRootAttribute(); e.XmlAttribute.XmlRoot.ElementName = "WebRequest"; e.XmlMemberOverrides.Add(typeof(WebRequest), e.XmlAttribute); // Attributes XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "FormIndex", "index"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Method", "method"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Action", "action"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Protocols.Http.Scripting.WebRequest), "ID", "id"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Protocols.Http.Scripting.Cookie), "Name", "name"); e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagListXml), "Field"); e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.HtmlDom.HtmlFormTagXml), "Elements", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagListXml), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagBase), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.HtmlDom.HtmlTagBase), "Type", "type"); e.XmlAttribute = e.NewXmlAttribute; // foreach ( TransformProvider transformProvider in transformConfig.Transforms ) // { // string[] typeName = transformProvider.Type.Split(new char[] {','})[0].Split(new char[] {','}); // string className = typeName[typeName.Length - 1]; // XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, Type.GetType(transformProvider.Type), className, true); // } // Add Array Items for InputTransforms and OutputTransforms in WebRequest XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(HeaderTransform), "HeaderTransform",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(RequestTransform), "RequestTransform",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(ResponseResultTransform), "ResponseResultTransform",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(FillFormTransform), "FillFormTransform",true); e.XmlMemberOverrides.Add(typeof(WebRequest), "InputTransforms", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(WebRequest), "OutputTransforms", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; // Add Array Items for TransformValue for each TransformAction except RemoveTransformAction e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HeaderTransformValue), "HeaderTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(ClientSettingsTransformValue), "ClientSettingsTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(DefaultTransformValue), "DefaultTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HtmlTransformValue), "HtmlTransformValue"); e.XmlMemberOverrides.Add(typeof(AddTransformAction),"Value", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(UpdateTransformAction),"Value", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(FormField),"TransformValue", e.XmlAttribute); // Add Array Items for Headers to HeaderTransformAction in HeaderTransform e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(AddTransformAction), "AddTransformAction",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(UpdateTransformAction), "UpdateTransformAction",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(RemoveTransformAction), "RemoveTransformAction",true); e.XmlMemberOverrides.Add(typeof(HeaderTransform), "Headers", e.XmlAttribute); //e.XmlMemberOverrides.Add(typeof(HeaderTransform), "Headers", e.XmlAttribute); }
private void CreateSerializer(Type type) { XmlAttributeOverrides attrs = new XmlAttributeOverrides(); if ( XmlAttributeOverrideMappingEvent != null ) { XmlAttributeOverrideMappingArgs args = new XmlAttributeOverrideMappingArgs(); args.Type = type; XmlAttributeOverrideMappingEvent(this, args); attrs = args.XmlMemberOverrides; ser = new XmlSerializer(type,attrs); } else { ser = new XmlSerializer(type); } }
protected override void ConfigurationSectionOverrideTypeMapping(object sender, XmlAttributeOverrideMappingArgs e) { LoadTransformDefinition(); // Add Array Items for Tags in Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlALinkTag),"HtmlAnchorLink", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlAnchorTag),"HtmlAnchor", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlButtonTag),"HtmlButton", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlInputTag),"HtmlInput", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTextAreaTag),"HtmlTextArea", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlLinkTag),"HtmlLink", true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlSelectTag),"HtmlSelect", true); e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml), "Tags", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; // Add Array Items for WebRequests in ScriptingData XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(GetWebRequest), "GetSessionRequest",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(PostWebRequest), "PostSessionRequest",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(PutWebRequest), "PutSessionRequest",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(DeleteWebRequest), "DeleteSessionRequest",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(SoapHttpWebRequest), "SoapHttpSessionRequest",true); e.XmlMemberOverrides.Add(typeof(ScriptingApplication), "WebRequests", e.XmlAttribute); // Attributes XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "FormIndex", "index"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Method", "method"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Action", "action"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.Scripting.WebRequest), "ID", "id"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.Scripting.Cookie), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.Scripting.Header), "ApplicationID", "appid"); e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml), "Field"); e.XmlMemberOverrides.Add(typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlFormTagXml), "Elements", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagListXml), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagBase), "Name", "name"); XmlTypeSerializerHelper.AddAttributeMemberMapping(e, typeof(Ecyware.GreenBlue.Engine.HtmlDom.HtmlTagBase), "Type", "type"); e.XmlAttribute = e.NewXmlAttribute; // Add Array Items for InputTransforms and OutputTransforms in WebRequest for ( int i=0;i<inputTransforms.Count;i++ ) { // TODO: Needs to be qualified XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, Type.GetType(inputTransforms.GetKey(i)),inputTransforms[i],true); } e.XmlMemberOverrides.Add(typeof(WebRequest), "InputTransforms", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; for ( int i=0;i<outputTransforms.Count;i++ ) { // TODO: Needs to be qualified XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, Type.GetType(outputTransforms.GetKey(i)),outputTransforms[i],true); } e.XmlMemberOverrides.Add(typeof(WebRequest), "OutputTransforms", e.XmlAttribute); e.XmlAttribute = e.NewXmlAttribute; // Add Array Items for TransformValue for each TransformAction except RemoveTransformAction e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HeaderTransformValue), "HeaderTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(ClientSettingsTransformValue), "ClientSettingsTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(DefaultTransformValue), "DefaultTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(HtmlTransformValue), "HtmlTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(CookieTransformValue), "CookieTransformValue"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(XPathQueryCommand), "XPathQueryCommand"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(RegExQueryCommand), "RegExQueryCommand"); e.XmlMemberOverrides.Add(typeof(AddTransformAction),"Value", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(UpdateTransformAction),"Value", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(FormField),"TransformValue", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(XmlElementField),"TransformValue", e.XmlAttribute); e.XmlMemberOverrides.Add(typeof(QueryCommandAction),"Value", e.XmlAttribute); // Add elements for Transport e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(SmtpTransport), "SmtpTransport"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(GmailTransport), "GmailTransport"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(BloggerTransport), "BloggerTransport"); XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(DatabaseTransport), "DatabaseTransport"); //XmlTypeSerializerHelper.AddElementMemberMapping(e.XmlAttribute, typeof(SessionTransport), "SessionTransport"); for ( int i=0;i<outputTransforms.Count;i++ ) { e.XmlMemberOverrides.Add(Type.GetType(outputTransforms.GetKey(i)),"Transport", e.XmlAttribute); } // Add Array Items for Headers to HeaderTransformAction in HeaderTransform e.XmlAttribute = e.NewXmlAttribute; XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(AddTransformAction), "AddTransformAction",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(UpdateTransformAction), "UpdateTransformAction",true); XmlTypeSerializerHelper.AddArrayItemMemberMapping(e.XmlAttribute, typeof(RemoveTransformAction), "RemoveTransformAction",true); e.XmlMemberOverrides.Add(typeof(HeaderTransform), "Headers", e.XmlAttribute); }