static public ProductsListResult DeleteColumn(ProductsListResult list, string columnNname) { foreach (var row in list.table) { row.Remove(columnNname); } return(list); }
// Обновить таблицу результатов с digikey public ProductsListResult GetProductsList(string url) { var outList = new ProductsListResult(); outList.columns = new List <string>(); outList.table = new List <Dictionary <string, string> >(); // Загружаем страницу var htmlDocument = GetHtmlDocument(url); // Получаем список всех названий столбцов var tblheadRow = htmlDocument.GetElementbyId("tblhead").SelectNodes("tr")[0]; int i = 0; foreach (HtmlNode cell in tblheadRow.SelectNodes("th|td")) { outList.columns.Add(i == 1 ? "PDF" : SuperTrim(cell.InnerText)); i++; } // Парсим саму информацию var lnkPart = htmlDocument.GetElementbyId("lnkPart"); foreach (HtmlNode row in lnkPart.SelectNodes("tr")) { int index = 0; var rowInfo = new Dictionary <string, string>(); foreach (HtmlNode cell in row.SelectNodes("th|td")) { switch (outList.columns[index]) { case "PDF": // PDF надо вытаскивать по другому string pdfUrl = cell.SelectSingleNode("a").Attributes["href"].Value; rowInfo[outList.columns[index]] = RemoveUrlRedirect(pdfUrl); break; case "Image": // Получаем ссылку на картинку компонента string imgUrl = cell.SelectSingleNode("a/img").Attributes["zoomimg"].Value; rowInfo[outList.columns[index]] = imgUrl; break; default: rowInfo[outList.columns[index]] = SuperTrim(cell.InnerText); break; } index++; } // Добавляем один row в таблицу outList.table.Add(rowInfo); } outList = DeleteColumn(outList, "Compare Parts"); return(outList); }