php 一个完全面向对象的RSS/XML类的简单示例

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

<?php
/**
 * RSS/XML类
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
error_reporting(E_ALL);

mysql_connect(localhost,root,root) or die (mysql_error());
mysql_select_db(oop) or die (mysql_error());

class RSS {

var $XMLdump;

var $pagetitle;
var $pagelink;
var $pegedescription;
var $pagelanguage;

var $sqlresult;

function setHead($setPagetitle,$setPagelink,$setPegedescription,$setPagelanguage){
$this->pagetitle = $setPagetitle;
$this->pagelink = $setPagelink;
$this->pegedescription = $setPegedescription;
$this->pagelanguage = $setPagelanguage;
}

function getDataFrom($setSQL){
$this->sqlresult = mysql_query($setSQL);
}


function rssHead(){
$this->XMLdump = <?xml version=\1.0\ encoding=\UTF-8\?>
<rss version=\2.0\ xmlns:atom=\http://www.w3.org/2005/Atom/\>
<channel>
<title>.$this->pagetitle.</title>
<link>.$this->pagelink.</link>
<description>.$this->pegedescription.</description>
<language>.$this->pagelanguage.</language>
<lastBuildDate>.date(r,time()).</lastBuildDate>\n;
}

function rssItems(){
while($bla = mysql_fetch_assoc($this->sqlresult)){
$this->XMLdump .=  <item>\n;
$this->XMLdump .=  <title>.$bla['title'].</title>\n;
$this->XMLdump .=  <link>http://bestnewssiteever.com/news/.$bla['id']./</link>\n;
$this->XMLdump .=  <category>.$bla['category'].</category>\n;
$this->XMLdump .=  <pubDate>.date(r,$bla['pubDate']).</pubDate>\n;
preg_match_all(/^(?:[^.]*\.){3}/,$bla['content'],$trimedContent);
$this->XMLdump .=  <description>.$trimedContent[0][0]...</description>\n;
$this->XMLdump .=  </item>\n;
}
}

function rssFooter(){
$this->XMLdump .=  </channel>
</rss>;
}

function writeXML(){
$this->rssHead();
$this->rssItems();
$this->rssFooter();
return $this->XMLdump;
}

function saveXML($file){
$fp = fopen($file,w+);
flock($fp,2);
fwrite($fp,$this->writeXML());
flock($fp,3);
fclose($fp);
}
}

$Bar = new RSS();
$Bar->getDataFrom(SELECT * FROM news ORDER BY pubDate DESC);
$Bar->setHead(TITLE,http://domain.de,DESCRIPTION,en-EN);
$Bar->saveXML(blub.xml);


/*** 来自:编程之家 jb51.cc(jb51.cc) ***/ 
?>

相关文章

文章浏览阅读8.4k次,点赞8次,收藏7次。SourceCodester Onl...
文章浏览阅读3.4k次,点赞46次,收藏51次。本文为大家介绍在...
文章浏览阅读1.1k次。- php是最优秀, 最原生的模板语言, 替代...
文章浏览阅读1.1k次,点赞18次,收藏15次。整理K8s网络相关笔...
文章浏览阅读1.2k次,点赞22次,收藏19次。此网络模型提供了...
文章浏览阅读1.1k次,点赞14次,收藏19次。当我们谈论网络安...