php制作基于xml的RSS訂閱源功能示例
本文實(shí)例講述了php制作基于xml的RSS訂閱源功能。分享給大家供大家參考,具體如下:
首先制作一個(gè) RSS 模板,模板的文件名是 feed.xml,代碼如下:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>
再就是用php文件從數(shù)據(jù)庫讀取數(shù)據(jù)并生成 RSS 文件,這里用一個(gè)數(shù)組模擬從數(shù)據(jù)庫讀取的數(shù)據(jù):
<?php
class Rss{
protected $dom = null;
protected $temp = './feed.xml';
protected $rss = null;
protected $title = '';
protected $desc = '';
protected $link = '';
public function __construct(){
$this->title = '物理學(xué)';
$this->desc = '現(xiàn)代物理學(xué)';
$this->link = 'http://mysql/rss.php';
$this->dom = new DOMDocument('1.0','utf-8');
$this->dom->load($this->temp);
$this->rss = $this->dom->getElementsByTagName('rss')->item(0);
}
public function feed($arr){
$this->createChannel();
$channel = $this->dom->getElementsByTagName('channel')->item(0);
foreach ($arr as $v){
$channel->appendChild($this->createItem($v));
}
header('content-type:text/xml');
echo $this->dom->savexml();
}
protected function createChannel(){
$channel = $this->dom->createElement('channel');
$channel->appendChild($this->createEle('title',$this->title));
$channel->appendChild($this->createEle('link',$this->link));
$channel->appendChild($this->createEle('description',$this->desc));
$this->rss->appendChild($channel);
}
protected function createItem($arr){
$item = $this->dom->createElement('item');
foreach($arr as $k => $v){
$item->appendChild($this->createEle($k,$v));
}
return $item;
}
protected function createEle($name,$value){
$e=$this->dom->createElement($name);
$t=$this->dom->createTextNode($value);
$e->appendChild($t);
return $e;
}
}
$arr = array(
array(
'title'=>'牛頓力學(xué)',
'link'=>'1',
'description'=>'牛頓力學(xué)'
),
array(
'title'=>'相對論',
'link'=>'1',
'description'=>'愛因斯坦的相對論'
)
);
$rss = new Rss;
$rss->feed($arr);
?>
最后在火狐下效果:

PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP針對XML文件操作技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- php實(shí)現(xiàn)XML和數(shù)組的相互轉(zhuǎn)化功能示例
- PHP使用DOM和simplexml讀取xml文檔的方法示例
- PHP基于DOM創(chuàng)建xml文檔的方法示例
- PHP輸出XML格式數(shù)據(jù)的方法總結(jié)
- php基于dom實(shí)現(xiàn)讀取圖書xml格式數(shù)據(jù)的方法
- php基于dom實(shí)現(xiàn)的圖書xml格式數(shù)據(jù)示例
- php實(shí)現(xiàn)xml轉(zhuǎn)換數(shù)組的方法示例
- PHP實(shí)現(xiàn)的XML操作類【XML Library】
- PHP數(shù)組生成XML格式數(shù)據(jù)的封裝類實(shí)例
- PHP對XML內(nèi)容進(jìn)行修改和刪除實(shí)例代碼
- php實(shí)現(xiàn)的XML操作(讀取)封裝類完整實(shí)例
相關(guān)文章
php計(jì)算給定日期所在周的開始日期和結(jié)束日期示例
這篇文章主要介紹了php計(jì)算給定日期所在周的開始日期和結(jié)束日期,涉及php日期與時(shí)間相關(guān)運(yùn)算與轉(zhuǎn)換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
PHP判斷一個(gè)gif圖片是否為動態(tài)圖片的方法
這篇文章主要介紹了PHP判斷一個(gè)gif圖片是否為動態(tài)圖片的方法,涉及針對圖片字節(jié)流中包含數(shù)據(jù)字段的判斷,具有不錯的實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11
使用Huagepage和PGO來提升PHP7的執(zhí)行性能
這篇文章主要介紹了使用Huagepage和PGO來提升PHP7的執(zhí)行性能的相關(guān)方案,來自于注明的PHP開發(fā)組成員Laruence的相關(guān)研究,需要的朋友可以參考下2015-11-11
PHP 中關(guān)于ord($str)>0x80的詳細(xì)說明
為了識別雙字節(jié)的字符,比如漢字或日文韓文等都是占兩字節(jié)的,每字節(jié)高位為1,而一般西文字符只有一個(gè)字節(jié),七位有效編碼,高位為0而0x80對應(yīng)的二進(jìn)制代碼為1000 0000,最高位為一,代表漢字.漢字編碼格式通稱為10格式. 一個(gè)漢字占2字節(jié),但只代表一個(gè)字符2012-09-09

