Как получить текст HTML между тегами H1 в C # - PullRequest
0 голосов
/ 12 октября 2010

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

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

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

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

1 Ответ

1 голос
/ 12 октября 2010

Возможное решение: Получите полный HTML-код в виде строки, замените

знаком, которого HTML не знает (например, HTML использует & uuml;), а затем разбейте строку на этот знак в массив. Теперь вы ищите (например, с помощью RegEx) узлы, которые имеют начальные и конечные теги и только анализируют их. Быстро и грязно, но должно работать. Обратите внимание, что, как упоминал Драхенштерн, вложенные теги H1 приведут к тому, что родительские узлы не будут проанализированы.

...