Last month, I blogged about XmlSerializer, and the constraints it imposes on the .NET types you'd like to map onto XML structure.  I was recently reminded of another limitation of XmlSerializer:  it doesn't let you switch your type mappings, on the fly -- for example, in response to a version attribute.  And yet.  A great many XML document formats use just such an attribute...

http://www.windojitsu.com/blog/moreonxmlserializer.html