So erhalten Sie HTML-Text zwischen H1-Tags in C #

c# html html-agility-pack

Frage

Ich muss ein HTML-Dokument analysieren, um alle H1-Tags und alle HTML zwischen ihnen zu extrahieren. Ich habe mit HtmlAgilityPack gespielt, um dies mit einigem Erfolg zu erreichen. Ich könnte alle H1-Tags extrahieren mit:

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//h1"))

Aber wie extrahiere ich den HTML-Code nach jedem H1-Tag, bis ich den nächsten H1-Tag erreiche? Dieser HTML-Code könnte alles aus einer Tabelle / einem Bild / einer Verknüpfung oder einer anderen Sache auf einer HTML-Seite enthalten, aber H1-Tag.

Danke im Voraus.

Beliebte Antwort

Mögliche Lösung: Erhalte den kompletten HTML-Code als String, ersetze <H1> durch ein Zeichen, das HTML nicht kennt (zB ü, HTML benutzt & uuml;), dann teile den String mit diesem Zeichen in ein Array.

Jetzt suchen Sie (z. B. mit RegEx) nach Knoten, die AND- und End-Tags haben und diese nur analysieren.

Schnell und schmutzig, sollte aber funktionieren.

Bitte beachten Sie, dass verschachtelte H1-Tags, wie drachtenstern erwähnt, dazu führen, dass Parent-Nodes nicht geparst werden.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum