Mega Code Archive

 
Categories / C# Tutorial / Network
 

Use SoapAttributeOverrides

using System; using System.IO; using System.Xml; using System.Xml.Serialization; [SoapType("SoapGroupType", "http://www.yourDomain.com")] public class Group {     public string GroupName;     public Employee[] Employees; } [SoapType("EmployeeType")] public class Employee {     public string Name; } public class Run {     public static void Main()     {         SoapAttributeOverrides mySoapAttributeOverrides = new SoapAttributeOverrides();         SoapAttributes soapAtts = new SoapAttributes();         SoapTypeAttribute soapType = new SoapTypeAttribute();         soapType.TypeName = "Team";         soapType.IncludeInSchema = false;         soapType.Namespace = "http://www.yourdomain.com";         soapAtts.SoapType = soapType;         mySoapAttributeOverrides.Add(typeof(Group), soapAtts);         XmlTypeMapping myMapping = (new SoapReflectionImporter(mySoapAttributeOverrides)).ImportTypeMapping(typeof(Group));         XmlSerializer mySerializer = new XmlSerializer(myMapping);                  TextWriter writer = new StreamWriter("SoapType2.xml");         XmlTextWriter xmlWriter = new XmlTextWriter(writer);         Group myGroup = new Group();         myGroup.GroupName = "Group1";         Employee e1 = new Employee();         e1.Name = "A";         myGroup.Employees = new Employee[] { e1 };         xmlWriter.WriteStartElement("root");         mySerializer.Serialize(xmlWriter, myGroup);         xmlWriter.WriteEndElement();         xmlWriter.Close();         writer.Close();     } }