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();
}
}
|