您好,程序员。 我现在花了一整天的时间阅读线程来解决此问题。 我正在从自动生成的日程表中解析HTML,6年前在此线程上讨论了相同的日程表程序:Parsing complex HTML tables
但是,这个java / javascript解决方案对我不起作用。同样,上述程序无法正常工作,我认为他们发布了该软件的新版本。这是我要解析的示例:https://www.ostfalia.de/cms/de/b/studium/stundenplaene/download/ss19_b_stdgrp_ai_6.html
我需要按正确的顺序解析数据,因为我想用它生成一个iCalendar文件,或者将数据传递/发送到自写的时间表应用程序中
我正在使用HTML Agility Pack,并且Im已经可以成功解析我需要的内容,但是我无法以正确的顺序将其完整拆分,因为HAP像任何其他解析器一样按行显示。我是如此的拼命,我几乎只计算空值trs来估计何时开始新行,但这行不通,因为程序有时空行更少。你们有人有主意吗?
这是获取我所需信息的代码:
WebClient client = new WebClient();
string html = client.DownloadString("https://www.ostfalia.de/cms/de/b/studium/stundenplaene/download/ss19_b_stdgrp_ai_6.html");
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
var erg = doc.DocumentNode.SelectNodes("//td[@class='v']");
for (int i = 0; i < erg.Count; i++)
{
txt_check.Text = (erg[i].InnerText);
list_check.Items.Add(erg[i].InnerText);
}
“类v”是事件,而“类t”是时间,在此示例中,它只是类v
我得到:
class ='v'的输出如下:
10:30-12:00 UhrAI 6.1 Komponentenbasierte SoftwareentwicklungB。 RogallaB 109
13:00-14:30 UhrAI WPF-12 CCNA 2思科路由和交换时间HollmannA 201
13:00-14:30 UhrAI WPF研究所你Betrieb einer Datenb。一种。 B.甲骨文HeringA
14:45-16:15 UhrAI WPF Mathematik III for InformatikerT。 WaldeerB 27 114
14:45-16:15 UhrAI WPF-18 AutomatisierungstechnikF。 DziembowskiA 107
class ='t'的输出如下:
“ Di,05.03.2019”
“ Mi,06.03.2019”
“ Do,07.03.2019”
“ Fr,08.03.2019”
“ Sa,2019年3月9日”
我希望有人对如何对字典或列表中的信息进行排序和匹配以使其在ICS中获得信息有个想法。
输出应为:
“ MI,06.03.2019,8:45-10:15,AI 6.1 AI 6.1 Komponentenbasierte Softwareentwicklung B. Rogalla B109”
... 因此,我可以将其以ICS格式或日期/时间格式用于日历应用程序或其他工具。
整个HTML的垃圾箱: https://pastebin.com/hHbJTujN
输出的一些图片: https://drive.google.com/open?id=16Y_hISdVEvzlrS6LCmBMcwAarGhz__t0