1
_request = (HttpWebRequest)WebRequest.Create(url);
_response = (HttpWebResponse) _request.GetResponse();
StreamReader streamReader = new StreamReader(_response.GetResponseStream());
string text = streamReader.ReadToEnd();

html タグ付きのテキスト。HTMLタグなしでテキストを取得するにはどうすればよいですか?

4

4 に答える 4

3

サードパーティのライブラリを使用せずにダイナミック HTML からテキストを抽出するにはどうすればよいですか? 簡単です。.NET フレームワークにある文字列解析関数を使用して、独自の HTML 解析ライブラリを作成します。

真剣に、これを自分で行うのは悪い考えです。動的 HTML を Web から取得する場合は、さまざまな終了タグ、タグの不一致、終了タグの欠落などに備える必要があります。自分で作成する必要がある本当に正当な理由がない限り、 HTML Agility Packを使用してください。

また、Not Invented Here 症候群に陥っていないことを確認してください。

于 2011-11-29T22:29:10.683 に答える
2

1) 正規表現を使用しないでください。(このすばらしい StackOverflow の投稿を参照してください: RegEx は、XHTML 自己完結型タグ以外の開始タグに一致します)

2) HtmlAgilityPack を使用します。しかし、あなたがサードパーティのライブラリを望んでいないことがわかりました。

3) XmlReaderを使用します。MSDN のサンプル コードをそのまま使用することができ、XmlNodeType例外のすべてのケースを無視できますXmlNodeType.Text。その場合は、出力を StreamWriter に書き込むだけです。

于 2011-11-29T22:02:01.600 に答える
1

この質問は以前に尋ねられました。正規表現を使用したり、エイドリアンが指摘したアジリティ パックを使用したりするなど、いくつかの方法があります。

この質問を参照してください: ASP.NET で文字列から HTML タグを削除するにはどうすればよいですか?

于 2011-11-29T20:59:36.867 に答える