I would like to invoke XmlSerializer.Deserialize passing it an XDocument. It can take a Stream, an XmlReader or a T
XmlSerializer.Deserialize
XDocument
Stream
XmlReader
T
You can use XDocument.CreateReader() to create an XmlReader that reads the contents of the XDocument.
Equivalently, the following will work too.
XmlReader GetReader(XDocument doc) { return doc.Root.CreateReader(); }