Html敏捷包,如何将控制台输出添加到List

时间:2017-02-08 06:50:14

标签: c# .net html-agility-pack

我正在尝试从某个网站输出一些字符串,我想将每一行添加到List中。 我正在寻找的输出看起来像这样:

string url = "https://thepiratebay.org/search/rick%20and%20morty/0/99/0";
        HtmlWeb web = new HtmlWeb();
        HtmlDocument doc = web.Load(url);

        //upload list
        List<string> uploadList = new List<string>();

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//table[@id='searchResult']/tr/td/font[@class='detDesc']"))
        {
            var input =  node.InnerHtml.ToString();
            //The [^0-9] expression is used to find any character that is NOT a digit, will replace with empty string
            input = Regex.Replace(input, "([^0-9]+)"," ");

            Console.WriteLine(input);
         }

我需要将每一行存储到一个列表中以处理数据的每个元素,我无法将doc.DocumentNode.SelectNodes("//table[@id='searchResult']/tr/td/font[@class='detDesc']")设置为数组

1 个答案:

答案 0 :(得分:0)

您可以使用

将输入添加到列表中

uploadList.Add(Input);

在foreach循环中,而不是将其打印到控制台,并以某种方式再次从那里读取它。

您可能希望选择trtdfont子项,如下所述: https://stackoverflow.com/a/15004032/2960293