Esempio n. 1
0
        /// <summary>
        /// Преобразует объект в XML и затем отрисовывает его, пропуская через <see cref="XHtml5XmlWriter"/>
        /// </summary>
        /// <param name="context"></param>
        /// <param name="objectToRender"></param>
        protected override void SendOutput(IMvcContext context, object objectToRender)
        {
            var xml     = GetMainSerializer().Serialize(objectToRender, "result");
            var x       = XElement.Parse(xml);
            var xwriter = new XHtml5XmlWriter(context.Output);

            x.WriteTo(xwriter);
        }
Esempio n. 2
0
        public void CanWrapXElementConent()
        {
            var sw = new StringWriter();
            var xw = new XHtml5XmlWriter(sw);
            var xe = new XElement("result", new XAttribute("code", "1"), "test");

            xe.WriteTo(xw);
            var res = sw.ToString();

            Console.WriteLine(res);
            Assert.AreEqual(@"<!DOCTYPE html><html><head><meta name=""generator"" value=""XHtml5XmlWriter"" /></head><body><result code=""1"">test</result><style type=""text/css"">result {border:solid 1px black; padding:1px; margin:1px;}result:before {content: ""[result:"" attr(code) ""] ""}</style></body></html>", res);
        }
Esempio n. 3
0
        public void CanWrapXElementConentWithHtmlDefinition()
        {
            var sw = new StringWriter();
            var xw = new XHtml5XmlWriter(sw);
            var xe = new XElement("result", new XAttribute("code", "1"), "test");
            var be = new XElement("body", xe);
            var he = new XElement("html", be);

            he.WriteTo(xw);
            var res = sw.ToString();

            Console.WriteLine(res);
            Assert.AreEqual(@"<!DOCTYPE html><html><body><result code=""1"">test</result><style type=""text/css"">result {border:solid 1px black; padding:1px; margin:1px;}result:before {content: ""[result:"" attr(code) ""] ""}</style></body></html>", res);
        }
Esempio n. 4
0
        public void CanPreventAutoStyling()
        {
            var sw = new StringWriter();
            var xw = new XHtml5XmlWriter(sw);

            xw.GenerateStylesForNonHtmlElements = false;
            var xe = new XElement("result", new XAttribute("code", "1"), "test");

            xe.WriteTo(xw);
            var res = sw.ToString();

            Console.WriteLine(res);
            Assert.AreEqual(@"<!DOCTYPE html><html><head><meta name=""generator"" value=""XHtml5XmlWriter"" /></head><body><result code=""1"">test</result></body></html>", res);
        }
Esempio n. 5
0
        public void WroteElementsCorrectlyClosed()
        {
            var sw = new StringWriter();
            var xw = new XHtml5XmlWriter(sw);

            xw.GenerateHtmlWrapper = false;
            xw.WriteStartElement("meta");
            xw.WriteEndElement();
            xw.WriteStartElement("p");
            xw.WriteEndElement();
            xw.WriteStartElement("img");
            xw.WriteEndElement();
            xw.WriteStartElement("img");
            xw.WriteString("test");
            xw.WriteEndElement();
            var res = sw.ToString();

            Console.WriteLine(res);
            Assert.AreEqual("<meta /><p></p><img /><img>test</img>", res);
        }
Esempio n. 6
0
 /// <summary>
 /// Преобразует объект в XML и затем отрисовывает его, пропуская через <see cref="XHtml5XmlWriter"/>
 /// </summary>
 /// <param name="context"></param>
 /// <param name="objectToRender"></param>
 protected override void SendOutput(IMvcContext context, object objectToRender) {
     var xml = GetMainSerializer().Serialize( objectToRender, "result");
     var x = XElement.Parse(xml);
     var xwriter = new XHtml5XmlWriter(context.Output);   
     x.WriteTo(xwriter);
 }