Exemple #1
0
 static public ProductsListResult DeleteColumn(ProductsListResult list, string columnNname)
 {
     foreach (var row in list.table)
     {
         row.Remove(columnNname);
     }
     return(list);
 }
Exemple #2
0
        // Обновить таблицу результатов с 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);
        }