C#でH1タグ間でHTMLテキストを取得する方法

c# html html-agility-pack

質問

私はすべての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タグは、親ノードが解析されないことに気づくことに注意してください。




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ