Я хочу проанализировать дату, текст ссылки и ссылку href из таблицы class = 'nice' на веб-странице http://cslh.cz/delegace.html?id_season=2013
Я создал объект DelegationLink
public class DelegationLink
{
public string date { get; set; }
public string link { get; set; }
public string anchor { get; set; }
}
и использовал его с LINQ для создания списка DelegationLink
var parsedValues =
from table in htmlDoc.DocumentNode.SelectNodes("//table[@class='nice']")
from date in table.SelectNodes("tr//td")
from link in table.SelectNodes("tr//td//a")
.Where(x => x.Attributes.Contains("href"))
select new DelegationLink
{
date = date.InnerText,
link = link.Attributes["href"].Value,
anchortext = link.InnerText,
};
return parsedValues.ToList();
который принимает столбец даты один на один и объединяет его со столбцом ссылки в каждой строке, но я просто хочу просто взять каждую строку в таблице и получить дату, href и hreftext из этой строки. Я новичок в LINQ, и я использовал Google в течение 4 часов без какого-либо эффекта. Спасибо за помощь.
Ну, это довольно просто, вам просто нужно выбрать tr
в SelectNodes
функции SelectNodes
и немного скорректировать код. Что-то вроде этого.
var parsedValues = htmlDoc.DocumentNode.SelectNodes("//table[@class='nice']/tr").Skip(1)
.Select(r =>
{
var linkNode = r.SelectSingleNode(".//a");
return new DelegationLink()
{
date = r.SelectSingleNode(".//td").InnerText,
link = linkNode.GetAttributeValue("href",""),
anchor = linkNode.InnerText,
};
}
);
return parsedValues.ToList();