using LitJson; using System.Text.RegularExpressions;
namespace demo1026 { public class MyMenu//使用一个静态方法帮我们创建对象,这样每一次就不用去new { public MyMenu() { this.FirstMenu = firstMenu; } private static List firstMenu; public List FirstMenu; public static MyMenu GetMenu(List menuList) { firstMenu = menuList; return new MyMenu(); } } internal class Program { static void Main(string[] args) { //创建一个大的列表 List myMenuList = new List();
//先拿到这个文件的位置
/*string files = File.ReadAllText("./京东.html");
string pattern = "<a.+cate_menu_.+>(.+)</a>";
Console.WriteLine(files);
MatchCollection Matches = Regex.Matches(files, pattern);
foreach(Match i in Matches)
{
Console.WriteLine(i.Groups[1]);
}
*/ string files = File.ReadAllText("./京东.html"); files = files.Replace("\n", "").Replace("", "\n"); //Console.WriteLine(files); string pattern = "<li\s+class="cate_menu_item".+>(.+)"; MatchCollection Matches = Regex.Matches(files, pattern); foreach (Match i in Matches) { if (i.Success) { List MenuList = new List(); string Menu = Convert.ToString(i); Menu = Menu.Replace("", "\n"); string pattern2 = "<a.+class="cate_menu_lk".+>(.+)"; MatchCollection MenuMatches = Regex.Matches(Menu, pattern2); foreach (Match j in Matches) { //Console.Write(i.Groups[1]+" "); //拿到内容 添加到一个数组中 MenuList.Add(j.Groups[1].ToString()); } //Console.WriteLine(); //这里应该是拿到了每一组菜单 把数组当做对象的字段的值 myMenuList.Add( MyMenu.GetMenu(MenuList));
}
}
//往文件中写内容
string json = JsonMapper.ToJson(myMenuList);
File.WriteAllText("./1.txt",json);
}
}
}