萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP利用RSS訂閱別處文章

PHP利用RSS訂閱別處文章

 這篇文章是接上篇利用PHP操作XML文件的。RSS是基於XML的一種形式,它的具體規范如下(我們以截取的新浪RSS訂閱頻道的格式來看):

輸入:http://rss.sina.com.cn/news/world/focus15.xml 查看頁面源碼就可以看到RSS的結構:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" title="XSL Formatting" href="/show_new_final.xsl" media="all"?>
<rss version="2.0">
<channel>
<title>
<![CDATA[國際要聞-新浪新聞]]>
</title>
<image>
<title>
<![CDATA[新聞中心-國際新聞]]>
</title>
<link>http://news.sina.com.cn/world</link>
<url>/tech/UploadPic/2012-12/20121222153257335.gif</url>
</image>
<description>
<![CDATA[國際新聞-焦點新聞]]>
</description>
<link>http://news.sina.com.cn/491/2008/0827/1.html</link>
<language>zh-cn</language>
<generator>WWW.SINA.COM.CN</generator>
<ttl>5</ttl>
<copyright>
<![CDATA[Copyright 1996 - 2012 SINA Inc. All Rights Reserved]]>
</copyright>
<pubDate>Sat, 22 Dec 2012 05:32:05 GMT</pubDate>
<category>
<![CDATA[]]>
</category>
<item>
<title>
<![CDATA[111個國家支持暫緩使用死刑 中美朝等41國反對]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-12-22/120825871683.shtml</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-12-22/120825871683.shtml</guid>
<category>
<![CDATA[國際新聞-焦點新聞]]>
</category>
<pubDate>Sat, 22 Dec 2012 04:08:09 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[  【法新社聯合國12月20日電】周四,在聯大討論人權問題的主旨會議上,有創紀錄的111個國家投票支持暫緩使用死刑。

雖然這次投票在法律上不具備約束力,但是人權活動分子說,每兩年舉行一次的表決,是向那些依然保留死刑的國家發出的強烈信號,這些數量在逐步減少的國家....]]>
</description>
</item>
</channel>
</rss>
具體規范信息是代表什麼意思,根據標簽的內容我們就可以很容易的知道,下面我們寫一個rss.php來讀取這個xml,從而獲取這上面的文章:

 

<?php header("Content-Type:text/html;charset=utf-8"); ?>
<html>
<head>
<title>XML</title>
</head>
<body>
<?php
$dom = simplexml_load_file("http://rss.sina.com.cn/news/world/focus15.xml");
//var_dump($dom);
?>
<h2>The example of RSS</h2>
<ul>
<?php
foreach($dom->channel->item as $item)
{
print("<li>");
print("<a href='$item->link'>");
print($item->title);
print("</a>");
print("</li>");
}
?>
</ul>
</body>
</html>
注意這個函數:simplexml_load_file() ; 它既可以讀本地的xml文件,也可以讀網絡上的xml。

運行結果:

copyright © 萬盛學電腦網 all rights reserved