private XmlSerializer CreateBindingCompliantSerializer() { var overrides = new XmlAttributeOverrides(); overrides.Add <Document>(new XmlAttributes { XmlType = new XmlTypeAttribute("Root") }); overrides.Ignore <Document>(d => d.Description); overrides.Ignore <Document>(d => d.MajorVersion); overrides.Ignore <Document>(d => d.MinorVersion); overrides.Ignore <Document>(d => d.PolicyFilePath); overrides.Add <Stage>(s => s.Components, new XmlAttributes { XmlArrayItems = { new XmlArrayItemAttribute("Component", typeof(ComponentBinding)) } }); overrides.Add <ComponentInfo>(ci => ci.QualifiedNameOrClassId, new XmlAttributes { XmlAttribute = new XmlAttributeAttribute("Name") }); overrides.Ignore <ComponentInfo>(ci => ci.CachedDisplayName); overrides.Ignore <ComponentInfo>(ci => ci.CachedIsManaged); overrides.Ignore <ComponentInfo>(ci => ci.ComponentName); overrides.Ignore <ComponentInfo>(ci => ci.ComponentProperties); overrides.Ignore <ComponentInfo>(ci => ci.Description); overrides.Ignore <ComponentInfo>(ci => ci.Version); return(Stateless.Xml.Serialization.XmlSerializerFactory.Create(typeof(Document), overrides)); }
protected override XmlSerializer CreateXmlSerializer() { var overrides = new XmlAttributeOverrides(); overrides.Ignore <Document>(d => d.PolicyFilePath); overrides.Add <Document>(d => d.CategoryId, new XmlAttributes { XmlElements = { new XmlElementAttribute(nameof(Document.CategoryId), typeof(string)) } }); overrides.Add <Document>(d => d.FriendlyName, new XmlAttributes { XmlElements = { new XmlElementAttribute(nameof(Document.FriendlyName), typeof(string)) } }); overrides.Ignore <PolicyFileStage>(s => s.CategoryId); overrides.Add <PolicyFileStage>( s => s.PolicyFileStage, new XmlAttributes { XmlElements = { new XmlElementAttribute(nameof(PolicyFileStage.PolicyFileStage), typeof(Microsoft.BizTalk.PipelineEditor.PolicyFile.Stage)) } }); return(CachingXmlSerializerFactory.Create(typeof(Document), overrides)); }