I read in MSDN Magazine for April in a column called .NET Matters that you can snag the code that the compiler creates for you when you serialize a custom object using XmlSerializer. It was interesting to me because at my last job we wanted to apply a custom format to the way a DateTime value was being serialized. Basically eliminating the timezone offset at the end.
I wrote an article on how to work with this for someone who was interested. It might not be the best solution, but it is interesting nonetheless.