.NET 4.x Html Agility Pack. Парсинг и запись данных в DataTable - C#
Формулировка задачи:
Не могу спарсить таблицу, например такую:
http://www.vyatsu.ru/files/schedule/1.htm ( код вставить сюда не могу т.к ограничение по символам)
Есть пример, но не могу подогнать под свою таблицу, чтобы полностью получить таблицу.
Помогите, кто знает
Листинг программы
- var doc = new HtmlDocument();
- doc.Load(url);
- var nodes = doc.DocumentNode.SelectNodes("//table/tr");
- var table = new DataTable("MyTable");
- var headers = nodes[0]
- .Elements("th")
- .Select(th => th.InnerText.Trim());
- foreach (var header in headers)
- {
- table.Columns.Add(header);
- }
- var rows = nodes.Skip(1).Select(tr => tr
- .Elements("td")
- .Select(td => td.InnerText.Trim())
- .ToArray());
- foreach (var row in rows)
- {
- table.Rows.Add(row);
- }
Решение задачи: «.NET 4.x Html Agility Pack. Парсинг и запись данных в DataTable»
textual
Листинг программы
- public int GetStringCounter(string value, string findstr)
- {
- int index = 0;
- int counter = 0;
- while ((index = value.IndexOf(findstr, index)) != -1)
- {
- index += findstr.Length;
- counter++;
- }
- return counter;
- }
- public string ExtractAndSumString(string value)
- {
- StringBuilder builder = new StringBuilder(256);
- int index1 = 0;
- int index2 = 0;
- string findstr1 = ">";
- string findstr2 = "<";
- while ((index1 = value.IndexOf(findstr1, index1)) != -1)
- {
- index1 += findstr1.Length;
- index2 = value.IndexOf(findstr2, index1);
- if (index2 != -1)
- builder.Append(value.Substring(index1, index2 - index1));
- else
- builder.Append(value.Substring(index1));
- }
- return builder.ToString().Trim();
- }
- public List<String> ExtractCellsOfTable(string value)
- {
- List<String> list = new List<string>();
- int index1 = 0;
- int index2 = 0;
- string findstr1 = "<TD";
- string findstr2 = "</TD>";
- while ((index1 = value.IndexOf(findstr1, index1)) != -1)
- {
- index1 += findstr1.Length;
- index2 = value.IndexOf(findstr2, index1);
- if (index2 != -1)
- list.Add(value.Substring(index1, index2 - index1));
- }
- return list;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д