Ejemplo n.º 1
0
        public string GetHtml()
        {
            XmlDocument html = new XmlDocument();

            html.AppendChild(html.CreateElement("html"));
            XmlElement element = (XmlElement)(html.DocumentElement.AppendChild(html.CreateElement("head")));

            HeadWriter.Flush();
            Encoding charset = CharSet;

            element.InnerXml = CharSet.GetString(_headStream.ToArray());
            element          = (XmlElement)(html.DocumentElement.AppendChild(html.CreateElement("head")));
            BodyWriter.Flush();
            element.InnerXml = CharSet.GetString(_bodyStream.ToArray());
            using (MemoryStream ms = new MemoryStream())
            {
                using (StreamWriter sw = new StreamWriter(ms, charset))
                {
                    sw.WriteLine("<!DOCTYPE html>");
                    XmlWriterSettings settings = BodyWriter.Settings.Clone();
                    settings.ConformanceLevel = ConformanceLevel.Document;
                    using (XmlWriter writer = XmlWriter.Create(sw, settings))
                    {
                        html.WriteTo(writer);
                        writer.Flush();
                        return(charset.GetString(ms.ToArray()));
                    }
                }
            }
        }
Ejemplo n.º 2
0
 protected virtual void Dispose(bool disposing)
 {
     if (_isDisposed)
     {
         return;
     }
     _isDisposed = true;
     if (disposing)
     {
         try { HeadWriter.Close(); }
         finally
         {
             try { BodyWriter.Close(); }
             finally
             {
                 try { _headStream.Dispose(); }
                 finally{ _bodyStream.Dispose(); }
             }
         }
     }
 }
Ejemplo n.º 3
0
        public ResponseDocument(string title = null, int statusCode = StatusCodes.Status200OK, Encoding encoding = null)
        {
            StatusCode = statusCode;
            XmlWriterSettings settings = new XmlWriterSettings
            {
                Encoding           = encoding ?? new UTF8Encoding(false),
                Indent             = true,
                OmitXmlDeclaration = true,
                ConformanceLevel   = ConformanceLevel.Fragment
            };

            HeadWriter = XmlWriter.Create(_headStream, settings);
            BodyWriter = XmlWriter.Create(_bodyStream, settings);
            HeadWriter.WriteStartElement("meta");
            HeadWriter.WriteAttributeString("charset", settings.Encoding.WebName);
            HeadWriter.WriteEndElement();
            HeadWriter.WriteStartElement("meta");
            HeadWriter.WriteAttributeString("name", "viewport");
            HeadWriter.WriteAttributeString("content", "width=800, initial-scale=1, shrink-to-fit=no");
            HeadWriter.WriteEndElement();
            Title = (String.IsNullOrWhiteSpace(title)) ? Default_Title : title;
            HeadWriter.WriteElementString("title", Title);
        }