私はすべてのH1タグとその間のすべてのHTMLを抽出するためにHTML文書を解析する必要があります。私はHtmlAgilityPackでこれをいくつか成功させるために遊んでいます。私は以下を使ってすべてのH1タグを抽出することができました:
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//h1"))
しかし、次のH1タグを打つまで、どのH1タグの後にもすべてのHTMLをどのように抽出するのですか?このHTMLには、テーブル/画像/リンクやHTMLページの他のものからH1タグまでのものを含めることができます。
前もって感謝します。
考えられる解決方法:完全なHTMLを文字列として取得し、<H1>をHTMLが認識できない記号(たとえば、HTMLは&uuml;を使用)に置き換え、文字列をこの記号で配列に分割します。
これで、開始タグと終了タグを持つノードを(たとえばRegExを使用して)検索し、それらのタグだけを解析します。
すばやく汚れていますが、うまくいくはずです。
drachensternが言及したように、ネストされたH1タグは、親ノードが解析されないことに気づくことに注意してください。