HtmlAgilityPack - странное исключение ArgumentOutOfRange - PullRequest
0 голосов
/ 23 февраля 2019

Мне нужно проанализировать Tumblr, получив результаты поиска.Мой код:

string tumblename = string.Empty;
string tumblepostid = string.Empty;
string tumbleposttext = string.Empty;
string EncodedCharRegex = "&#[X]?[0-9|A-F]{1,12};";
HtmlWeb web = new HtmlWeb();
private void button2_Click(object sender, EventArgs e)
{
   HtmlAgilityPack.HtmlDocument doc = web.Load("https://www.tumblr.com/search/cheese");
   HtmlNodeCollection searchResults = doc.GetElementbyId("search_posts").SelectNodes("//article"); //<-- here
   foreach (HtmlNode result in searchResults)
   {
      tumblename = result.GetAttributeValue("data-tumblelog-name", "NULL");
      tumblepostid = result.GetAttributeValue("data-id", "NULL");
      tumbleposttext = result.ChildNodes[0].InnerText.Trim().Replace("&rsquo;", "'").Replace("&nbsp;", " ").Replace("&lt;", "<").Replace(".", ". ").Replace("&hellip;", "...").Replace("&mdash;", "-");
      var z = Regex.Matches(tumbleposttext, EncodedCharRegex, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
      foreach (Match m in Regex.Matches(tumbleposttext, EncodedCharRegex, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
      tumbleposttext = tumbleposttext.Replace(m.Value, WebUtility.HtmlDecode(m.Value));
      listView1.Items.Add(new ListViewItem(new string[] { tumblename, tumblepostid, tumbleposttext }));
    }
}

Все было хорошо, и код работал отлично.НО - когда я создал новый проект WinForms и скопировал этот код в новый проект WinForms без каких-либо изменений, программа теперь вылетает в указанном месте.

Старый (оригинальный) проект по-прежнему работает правильно.

Что бы это могло быть?

...