private static void ParseEventDiv(List <DateTimeOffset> weekDays, int columnIndex, List <NewsEvent> list1, HAP.HtmlNode div) { var name = div.SelectNode("a").InnerText.Trim(); var country = name.Split(':').FirstOrDefault(); if (string.IsNullOrWhiteSpace(country)) { country = "ALL"; } else { name = name.Substring(country.Length + 1); } var childNodes = div.ChildNodes; var dates = (from node in childNodes where node.NodeType == HAP.HtmlNodeType.Text select node.InnerText.Decode()).ToArray(); if (!dates.Any()) { throw new NewsParserException("No text nodes found in column " + (columnIndex + 1) + " for " + name); } var date = dates.FirstOrDefault(s => !string.IsNullOrWhiteSpace(s)); if (date == null) { return; } //throw new NewsParserException("No dates found in column " + (columnIndex + 1) + " for " + name); var level = div.SelectSingleNode(starXPath("Star")) != null ? NewsEventLevel.H : div.SelectSingleNode(starXPath("djStar")) != null ? NewsEventLevel.M : NewsEventLevel.L; var n = new NewsEvent() { Country = country, Name = name, Time = weekDays[columnIndex].Add(ParseEventDate(date).TimeOfDay), Type = name.Contains("Speaks") ? NewsEventType.Speech : NewsEventType.Report, Level = level }; list1.Add(n); }