如何在C#中的H1標籤之間獲取HTML文本

c# html html-agility-pack

我需要解析一個HTML文檔來提取所有H1標籤以及它們之間的所有HTML。我一直在玩HtmlAgilityPack以取得一些成功。我可以使用以下方法提取所有H1標籤

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

但是如何在每個H1標籤之後提取所有HTML,直到我點擊下一個H1標籤?這個HTML可以包含表格/圖像/鏈接或HTML頁面上的任何其他內容,但H1標籤。

提前致謝。

熱門答案

可能的解決方案:將完整的HTML作為String獲取,將<H1>替換為HTML不知道的符號(例如,¼,HTML使用&uuml;),然後通過此符號將String拆分為數組。

現在,您搜索(例如,使用RegEx)具有開始和結束標記的節點,並僅解析這些標記。

快速而骯髒,但應該工作。

請注意,正如drachenstern所提到的,嵌套的H1-Tags將導致父節點無法被解析。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因