System.Data.SqlTypes.SqlXml.CreateMemoryStreamFromXmlReader C# (CSharp) Method

CreateMemoryStreamFromXmlReader() private method

private CreateMemoryStreamFromXmlReader ( XmlReader reader ) : Stream
reader XmlReader
return System.IO.Stream
        private Stream CreateMemoryStreamFromXmlReader(XmlReader reader)
        {
            XmlWriterSettings writerSettings = new XmlWriterSettings();
            writerSettings.CloseOutput = false;     // don't close the memory stream
            writerSettings.ConformanceLevel = ConformanceLevel.Fragment;
            writerSettings.Encoding = Encoding.GetEncoding("utf-16");
            writerSettings.OmitXmlDeclaration = true;
            MemoryStream writerStream = new MemoryStream();
            XmlWriter ww = XmlWriter.Create(writerStream, writerSettings);

            if (reader.ReadState == ReadState.Closed)
                throw new InvalidOperationException(SQLResource.s_closedXmlReaderMessage);

            if (reader.ReadState == ReadState.Initial)
                reader.Read();

            while (!reader.EOF)
            {
                ww.WriteNode(reader, true);
            }
            ww.Flush();
            // set the stream to the beginning			
            writerStream.Seek(0, SeekOrigin.Begin);
            return writerStream;
        }