I would like to invoke XmlSerializer.Deserialize passing it an XDocument. It can take a Stream, an XmlReader or a T
Just thought I should add that after the XmlReader is created, i.e.:
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
XmlReader reader = xmlDocumentToDeserialize.CreateReader();
then you should call:
reader.MoveToContent();
because otherwise the reader will not "point" to the first node, causing the appearance of an empty reader! Then you can safely call Deserialize:
MyObject myObject = (MyObject)serializer.Deserialize(reader);