手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

获取网站的RSS聚合到自己的网页

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  想把别的网站的RSS新闻整合到自己的网页,刚学,一直都不会。今天终于成功了!可能这个方法有点笨!思路是把XML文件下载到本地,然后再读本地XML,就简单了!不知道是否有更简单的方法,希望高手赐教!

核心代码如下:
(用webRequest得到指定页的内容,然后用FileStream写到本地文件中)
核心部份(下载RSS链接的XML文件到本地!)

private void download_Click(object sender, System.EventArgs e)
{
Encoding sjis = Encoding.GetEncoding("utf-8");
FileStream fs = new FileStream(Server.MapPath(".") "\\sina.xml",FileMode.Create,FileAccess.Write);
//建立StreamWriter为写做准备
StreamWriter rw = new StreamWriter(fs,sjis);

string rl;
//创建WebRequest对象
WebRequest myReq = WebRequest.Create("http://rss.sina.com.cn/news/marquee/ddt.xml");//读取远程文件(新浪新闻),然后用FileStream将文件保存到本地!
//创建WebResponse对象
WebResponse myRes = myReq.GetResponse();
//获取Stream
Stream resStream = myRes.GetResponseStream();
//以下操作为读取Stream对象中的内容
StreamReader sr = new StreamReader(resStream,sjis);
StringBuilder sb = new StringBuilder();
while((rl=sr.ReadLine())!=null)
{
rw.WriteLine(rl);
}
myRes.Close();
rw.Flush();
//关闭rw对象
rw.Close();
fs.Close();
msg.Text="下载成功!";

}

可以在程序中加入判断,几个小时下一次,或者一天下一次!

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!