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("\t<div><ul>");
// // 解析主菜单中子菜单
// string[] tts = temps[1].Split(',');
// foreach (string item in tts)
// {
// sb.AppendFormat("\t\t<li>{0}</li>\r\n", item);
// }
// sb.AppendLine("\t</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("\t<div><ul>");
// 解析主菜单中子菜单
// item1</li>
// <li>item2</li>
// <li>item3
// sb.AppendFormat("<li>{0}</li>", string.Join("</li>\r\n<li>", temps[1].Split(',')));
sb.AppendFormat("<li>{0}</li>", temps[1].Replace(",", "</li>\r\n<li>"));
sb.AppendLine("\t</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);
}
}
}