这篇文章主要为大家详细介绍了php 一个完全面向对象的RSS/XML类的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧。
经测试代码如下:
/**
* RSS/XML类
*
* @param
* @arrange (512.笔记) www.512pic.com
**/
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\"?>
".$this->pagetitle."".$this->pagelink."
".$this->pegedescription."
".$this->pagelanguage."
".date("r", time())."\n";
}
function rssItems(){
while($bla = mysql_fetch_assoc($this->sqlresult)){
$this->XMLdump .= " \n";
$this->XMLdump .= "
".$bla['title']."\n";$this->XMLdump .= " http://bestnewssiteever.com/news/".$bla['id']."/\n";
$this->XMLdump .= " ".$bla['category']."\n";
$this->XMLdump .= " ".date("r",$bla['pubDate'])."\n";
preg_match_all("/^(?:[^.]*\.){3}/", $bla['content'], $trimedContent);
$this->XMLdump .= " ".$trimedContent[0][0]."..\n";
$this->XMLdump .= " \n";
}
}
function rssFooter(){
$this->XMLdump .= "
";
}
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");
/*** 来自:512笔记(www.512pic.com) ***/
?>
注:关于php 一个完全面向对象的RSS/XML类的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。
关键词:RSS,XML