private XmlSerializer createSoapOverrider() { SoapAttributes soapAttrs = new SoapAttributes(); SoapAttributeOverrides soapOverrides = new SoapAttributeOverrides(); XmlTypeMapping myTypeMapping = (new SoapReflectionImporter (soapOverrides)).ImportTypeMapping(typeof(Person)); return new XmlSerializer(myTypeMapping); } private void serializeSample() { Person person = new Person(); person.Name = "ŽR“c‘¾˜Y"; person.Age = 17; person.SetTemporaryID( DateTime.Now.ToString() ); XmlSerializer serializer = createSoapOverrider(); using( FileStream stream = new FileStream(@"c:\sample.xml",FileMode.Create) ) { serializer.Serialize(stream, person); } } private void deserializeSample() { XmlSerializer serializer = createSoapOverrider(); Person person; using( FileStream stream = new FileStream(@"c:\sample.xml",FileMode.Open) ) { person = (Person)serializer.Deserialize(stream); } person.Dump(); }