I would like to invoke XmlSerializer.Deserialize
passing it an XDocument
. It can take a Stream
, an XmlReader
or a TextReader
.
Can I generate one of the above from XDocument
without actually dumping the XDocument
into some intermediate store, such as a MemoryStream
?
It seems that what I'm after is an implementation of XmlReader
that works with an XDocument
. I can't find one though.
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();
}