Как получить HTML-текст между тегами H1 в C #

c# html html-agility-pack

Вопрос

Мне нужно проанализировать HTML-документ, чтобы извлечь все теги H1 и весь HTML между ними. Я играл с HtmlAgilityPack, чтобы добиться этого с некоторым успехом. Я мог бы извлечь все теги H1, используя:

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

Но как я могу извлечь весь HTML после каждого тега H1, пока не нажму следующий тег H1? Этот HTML-код может включать в себя что-либо из таблицы / изображения / ссылки или любой другой вещи на HTML-странице, но тег H1.

Заранее спасибо.

Популярные ответы

Возможное решение. Получите полный HTML как String, замените <H1> знаком, который HTML не знает (например, ¼, HTML использует & uuml;), а затем разделите строку на этот знак на массив.

Теперь вы выполняете поиск (например, с помощью RegEx) для узлов, которые имеют начальные и конечные теги и только анализируют их.

Быстро и грязно, но должно работать.

Имейте в виду, что, как указано в drachenstern, вложенные H1-теги приведут к тому, что родительские узлы не будут разбираться.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow