demo1026

36 阅读1分钟

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



    }
}

}