Exemple #1
0
        /// <summary>
        /// Transform xml to html by xsl
        /// </summary>
        /// <param name="xml"></param>
        /// <param name="xslType"></param>
        /// <returns></returns>
        private string TransformXmlToHtml(string xml, XslType xslType)
        {
            var xmlSr = new StringReader(xml);

            var myXPathDoc = new XPathDocument(xmlSr);
            var myXslTrans = new XslCompiledTransform();

            var type      = GetType();
            var fileName  = GetXslFileName(xslType);
            var xslStream = type.GetTypeInfo().Assembly.GetManifestResourceStream(fileName);

            if (xslStream == null)
            {
                throw new Exception(string.Format("Resource:{0} is null", fileName));
            }

            var xslSr = new StreamReader(xslStream);
            var xslXr = XmlReader.Create(xslSr);

            myXslTrans.Load(xslXr);

            var htmlBuilder = new StringBuilder();
            var htmlSw      = new StringWriter(htmlBuilder);

            myXslTrans.Transform(myXPathDoc, null, htmlSw);

            htmlBuilder.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", "");

            xslStream.Dispose();

            return(htmlBuilder.ToString());
        }
Exemple #2
0
        /// <summary>
        /// GetResource's string by XslType enum
        /// </summary>
        /// <param name="xslType"></param>
        /// <returns></returns>
        private string GetXslFileName(XslType xslType)
        {
            switch (xslType)
            {
            case XslType.Type:
                return("Best.XmlDocumentCommentParser.DocumentationToJson.Type.xsl");

            case XslType.Method:
                return("Best.XmlDocumentCommentParser.DocumentationToJson.Method.xsl");

            default:
                throw new ArgumentOutOfRangeException("xslType");
            }
        }