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
// {
// // 主菜单项:子菜单列表
// 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
{
// 主菜单项:子菜单列表
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)
}
}
}