I wonder what is the best way to turn a XmlNode
object into an XmlReader
... I could even name a few ways to do this ... But they use a MemoryStream
to make the transformation.
XmlNode content = // My data
using (System.IO.MemoryStream mm = new System.IO.MemoryStream())
{
using (System.Xml.XmlWriter wtr = System.Xml.XmlWriter.Create(mm))
{
content.WriteTo(wtr);
wtr.Flush();
mm.Position = 0;
using (System.Xml.XmlReader reader = System.Xml.XmlReader.Create(mm))
{
// Here I have the object
}
}
}
Just use the XmlNodeReader
constructor:
using (XmlReader reader = new XmlNodeReader(content))
{
// ...
}
(The documentation says you should use XmlReader.Create
- but there are no overloads taking an XmlNode
, so that doesn't seem terribly useful to me...)
See more on this question at Stackoverflow