简化的MVC-导入模板HTML,导入数据txt,用字符串方法生成JS菜单

 using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 简化的MVC-导入模板HTML,导入数据txt,用字符串方法生成JS菜单
{
    class Program
    {
        #region 比较传统的做法
        //static void Main(string[] args)
        //{
        //    // 读取数据文件
        //    string[] lines = File.ReadAllLines("menu.txt", Encoding.Default);
        //    // 解析数据文件
        //    StringBuilder sb = new StringBuilder();
        //    // 拼接字符串,得到ul列表
        //    for (int i = 0; i < lines.Length; i++)
        //    {
        //        // 主菜单项:子菜单列表
        //        string[] temps = lines[i].Split(':');
        //        string mainName = temps[0];
        //        sb.AppendLine("<li><span><a href="#">" + mainName + "</a><b class="mark"></b></span>");
        //        sb.AppendLine("	<div><ul>");
        //        // 解析主菜单中子菜单
        //        string[] tts = temps[1].Split(',');
        //        foreach (string item in tts)
        //        {
        //            sb.AppendFormat("		<li>{0}</li>
", item);
        //        }
        //        sb.AppendLine("	</ul></div>");
        //        sb.AppendLine("</li>");

        //    }


        //    // 读取模板
        //    string html = File.ReadAllText("t.html", Encoding.Default);


        //    // 替换@name和@list
        //    html = html.Replace("@name", ".NET技术").Replace("@list", sb.ToString());

        //    File.WriteAllText("DotNet.html", html, Encoding.UTF8);

        //} 
        #endregion

        static void Main(string[] args)
        {
            // 读取数据文件
            string[] lines = File.ReadAllLines("menu.txt", Encoding.Default);
            // 解析数据文件
            StringBuilder sb = new StringBuilder();
            // 拼接字符串,得到ul列表
            for (int i = 0; i < lines.Length; i++)
            {
                // 主菜单项:子菜单列表
                string[] temps = lines[i].Split(':');
                string mainName = temps[0];
                sb.AppendLine("<li><span><a href="#">" + mainName + "</a><b class="mark"></b></span>");
                sb.AppendLine("	<div><ul>");
                // 解析主菜单中子菜单
                // item1</li>
                // <li>item2</li>
                // <li>item3
                // sb.AppendFormat("<li>{0}</li>", string.Join("</li>
<li>", temps[1].Split(',')));
                sb.AppendFormat("<li>{0}</li>", temps[1].Replace(",", "</li>
<li>"));




                sb.AppendLine("	</ul></div>");
                sb.AppendLine("</li>");

            }


            // 读取模板
            string html = File.ReadAllText("t.html", Encoding.Default);


            // 替换@name和@list
            html = html.Replace("@name", ".NET技术").Replace("@list", sb.ToString());

            File.WriteAllText("DotNet.html", html, Encoding.UTF8);

        }
    }
}
原文地址:https://www.cnblogs.com/blacop/p/6005867.html