PHP は RSS を使用して他の場所の記事を購読します
この記事は、PHP を使用して XML ファイルを操作する前の記事の続きです。 RSS は XML に基づいた形式であり、その具体的な仕様は次のとおりです (インターセプトされた Sina 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>http://www.sinaimg.cn/home/deco/2009/0330/logo_home_news.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>
この関数に注目してください: simplexml_load_file(); この関数はローカル XML ファイルとネットワーク上の 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>
実行結果:
わかりました、以上です.... 一生懸命働く人には神がご褒美を与えます! !