Beispiel #1
0
        /// <summary>
        /// Generates final HTML from project XML
        /// </summary>
        /// <param name="projectXML">The project XML</param>
        /// <param name="moduleList">List of modules generated from project code</param>
        /// <returns>HTML part of final output</returns>
        public String GetHTMLFromProjectXML(String projectXML, out List <AModule> moduleList)
        {
            // List of modules, to have module ID saved
            moduleList = new List <AModule>();

            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(projectXML);

            // And generate modules' html
            HtmlNodeCollection moduleNodeList = doc.DocumentNode.SelectNodes("//module");

            if (moduleNodeList != null)
            {
                foreach (HtmlNode moduleNode in moduleNodeList)
                {
                    // Change project modulenode for proper html output
                    AModule module = this.GetModuleFromNode(moduleNode);
                    moduleNode.Name = "div";
                    moduleNode.Attributes.RemoveAll();
                    moduleNode.InnerHtml = module.generateHTML();
                    moduleList.Add(module);
                }
            }

            return(doc.DocumentNode.OuterHtml);
        }