私はこれだけのHTMLの山を持っています:
<li id="entry-c7" data-user="ThisIsSomeonesUsername">
<img width="28" height="28" class="avatar" src="http://very_long_url.png">
<span class="time">6:07</span>
<span class="username">ThisIsSomeonesUsername</span>
<span class="message">This is my message. It is nice, no?</span>
</li>
約10万回(もちろん内容は異なりますが)何度も何度も繰り返しました。これはすべて、これらすべてを保持する要素を取得することにより、HTMLDocument から取得されます。ドキュメントは、Windows フォームの WebBrowser から取得されます。これは次のようになります。
HtmlDocument document = webBrowser1.Document;
HtmlElement element = document.GetElementById(chatElementId);
「chatElementId」は既知の ID であると仮定します。私がやりたいのは、「時間」(この例では 6:07)、「ユーザー名」(ThisIsSomeonesUsername)、および「メッセージ」(これは私のメッセージです... など) でコンテンツを取得することです。メッセージ部分には、追加の html (リンク、画像など) を含め、ほとんどすべてを含めることができますが、すべてそのままにしておきたいと思います。上記の方法で取得した要素の InnerHtml を正規表現で解析するつもりだったのですが、どうやらこれは宇宙の破壊をもたらすようです。では、これを行うにはどうすればよいですか?
編集: 人々は Html Agility Pack を提案し続けていますが、完全な HTML ソースを使用せずに Html Agility Pack でこれを行う簡単な方法はありますか? このクラス以外の残りの html がそれほど優れているかどうかはわかりませんが、とにかく html 全体を渡す必要がありますか?