2011-01-08 5 views
0

学習目的のために、私はページのリクエストとレスポンスを再生しています。これを達成する方法を知る必要があります。私は何をしたいのですか? Windowsアプリケーションから取得し、そこからいくつかのコンテンツを抽出します。たとえばHTTPリクエストからコンテンツを抽出し、それから選択したコンテンツを取得

私はhttp://stackoverflow.com/questions を今から呼びます。<div id="questions">にあるすべての質問ノードを抽出し、それをフォーマットして表に表示します。どのように身体を導くことができるのか?私はここで正規表現から形容詞を抽出して抽出することもできますが、どうすればよいか分かりません。事前 ルラ

答えて

2

おかげで、私はHTML Agility Pack使用することをお勧め - それはあなたが直接ページを取得し、常にXmlDocumentの仕組みに似たXPathを使用して、それを照会することができます。

1

HttpWebRequestを使用すると、次のようにページのソースコンテンツを取得できます。

string url = @"http://stackoverflow.com/users"; 

     System.Net.WebRequest request = System.Net.HttpWebRequest.Create(url); 

     System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); 
     System.IO.StreamReader stream = new System.IO.StreamReader 
       (response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8")); 

     XmlDocument rssDoc = new XmlDocument(); 
     rssDoc.Load(stream); 
+1

ページコンテンツが実際にUTF-8でない場合、これは失敗します。堅牢な実装では、本文中の 'Content-Type' HTTPヘッダーや' タグをチェックするか、文書自体から自動検出する必要があります。 –

+0

とhtmlがうまく形成されていない場合はさらに難しくなりますxml。 –