我想讀一個HTTP響應流兩次通過如下:如何在C#中兩次讀取Http響應流?
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
stream = response.GetResponseStream();
RssReader reader = new RssReader(stream);
do
{
element = reader.Read();
if (element is RssChannel)
{
feed.Channels.Add((RssChannel)element);
}
} while (element != null);
StreamReader sr = new StreamReader(stream);
feed._FeedRawData = sr.ReadToEnd();
然而,當StreamReader的代碼執行沒有數據返回,因爲流現在已經走到了盡頭。我試圖通過stream.Position = 0重置流,但是這會引發異常(我認爲是因爲流不能手動更改它的位置)。
基本上,我想解析流的XML並有權訪問原始數據(字符串格式)。
任何想法?
一個很小的建議,在這裏 - 我經常看到來電尋求在位置屬性會更簡單,更具可讀性,例如 ms.Position = 0; 只是對未來代碼的思考。 – 2008-09-29 09:42:10