日期:2013-05-28  浏览次数:20620 次

[前言]
在个人建站的过程中,经常要从其他网站获取大量动态信息。
本文所描述的就是使用php程序读取rss标准的xml格式文件,动态显示他人站点的信息列表。

[演示]

 


Yahoo News : perl php  Perl/PHP XML::RSS读Yahoo新闻(英文)的例子 
My CSDN Blog : perl php  Perl/PHP XML::RSS读取个人CSDN博客的例子 
JLinux : perl php  Perl/PHP XML::RSS读取JLinux的例子 
新浪新闻  综合 perl php 体育 perl php 娱乐 perl php 


 

[前提]
对于php编程爱好者来说,前期的准备相对简单,只要有php4以上的环境就可以建立此功能。


[对应的XML/RSS文件的格式]
基本上很多网站提供的用来做rss浏览的文件都是以下的格式,这是符合xml的w3c通用标准的。
简单的分析一下,
基本的树结构是,
一个rss根下,有一个channel节点,
  该channel节点下的title,link,description属性是常用的,
     然后就是item节点,众多item节点是最近跟新的若干篇文章,
    该item节点下的title,link,pubDate,description属性是常用的。
   简单格式如下:


<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
<title>本站点频道的标题</title>
<link>链接地址</link>
<description>站点频道描述信息</description>
<item>
<title>文章1</title>
<link>文章1链接地址</link>
<description>文章1内容简介</description>
</item>
<item>
<title>文章2</title>
<link>文章2链接地址</link>
<description>文章2内容简介</description>
</item>
</channel>
</rss>

举例:

- <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
- <channel>
  <title>邢晓宁专栏</title>
  <link>http://blog.csdn.net/thefirstwind/</link>
  <description>代码一生</description>
  <dc:language>af</dc:language>
  <generator>.Text Version 1.0.1.1</generator>
  <image>http://counter.csdn.net/pv.aspx?id=72</image>
- <item>
  <dc:creator>♂猜猜♂(邢晓宁)</dc:creator>
  <title>在 MS Windows 下建立 DocBook 的解譯環境</title>
  <link>http://blog.csdn.net/thefirstwind/archive/2006/12/21/1451714.aspx</link>
  <pubDate>Thu, 21 Dec 2006 13:50:00 GMT</pubDate>
  <guid>http://blog.csdn.net/thefirstwind/archive/2006/12/21/1451714.aspx</guid>
  <wfw:comment>http://blog.csdn.net/thefirstwind/comments/1451714.aspx</wfw:comment>
  <comments>http://blog.csdn.net/thefirstwind/archive/2006/12/21/1451714.aspx#Feedback</comments>
  <slash:comments>0</slash:comments>
  <wfw:commentRss>http://blog.csdn.net/thefirstwind/comments/commentRss/1451714.aspx</wfw:commentRss>
  <trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1451714</trackback:ping>
  <description>在 MS Windows 下建立 DocBook 的解譯環境<img src ="http://blog.csdn.net/thefirstwind/aggbug/1451714.aspx" width = "1" height = "1" /></description>
  </item>
- <item>
  <dc:creator>邢晓宁</dc:creator>
  <title>程序员学习的革命-如何使用大脑</title>
  <link>http://blog.csdn.net/thefirstwind/archive/2006/12/13/1440965.aspx</link>
  <pubDate>Wed, 13 Dec 2006 09:41:00 GMT</pubDate>
  <guid>http://blog.csdn.net/thefirstwind/archive/2006/12/13/1440965.aspx</guid>
  <wfw:comment>http://blog.csdn.net/thefirstwind/c