DataContractSerializer – Alphabetical mystique
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractserializer.aspx
I noticed that DataContractSerializer is using serialization in alphabetical order. If you do not follow the below rules you will end up missing data after deserialization of your XML.
[Serializable, DataContract(Namespace = "your-namespace")]
public class YourObject : DataModelDeserializable<YourObject>
{
[DataMember]
public string PostalCode { get; set; }
[DataMember]
public string City { get; set; }
[...]