I was recently in a DevelopMentor course when I ran into a very interesting
observation. The XmlSerializer serializes any class that dervies from
XmlNode (including XmlDocument, XmlElement, et al) as plain XML. Previous
to RTM of the .NET framework, these classes were serialized like any other class
(all public properties and fields were serialized). To our amazement (Dan
Sullivan and mine), we realized that the XML classes serialized perfectly when
run through the XmlSerializer class.