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); } } }