Convert XDocument to Stream

Viewed 45768

How do I convert the XML in an XDocument to a MemoryStream, without saving anything to disk?

3 Answers

Have a look at the XDocument.WriteTo method; e.g.:

using (MemoryStream ms = new MemoryStream())
{
    XmlWriterSettings xws = new XmlWriterSettings();
    xws.OmitXmlDeclaration = true;
    xws.Indent = true;

    using (XmlWriter xw = XmlWriter.Create(ms, xws))
    {
        XDocument doc = new XDocument(
            new XElement("Child",
                new XElement("GrandChild", "some content")
            )
        );
        doc.WriteTo(xw);
    }
}
Related