/******
定制RSS源
RSS2.0样式
***/
class CreateRss{
public $channel = NUll;
public $title = '';
public $link = '';
public $description = '';
public $template = './02.xml';
protected $dom = null;
protected $rss = null;
public $item = array();
public function __construct(){
$this->dom = new DOMDocument('1.0','utf-8');
$this->dom->load($this->template);
$this->rss = $this->dom->getElementsByTagName('rss')->item(0);
}
protected function createChannel(){
$this->channel = $this->dom->createElement('channel');
$this->channel->appendChild($this->createEle('title',$this->title));
$this->channel->appendChild($this->createEle('link',$this->link));
$this->channel->appendChild($this->createEle('description',$this->description));
$this->rss->appendChild($this->channel);
}
protected function addItem($list){
foreach($list as $goods){
$this->channel->appendChild($this->createItem($goods));
}
}
protected function createItem($arr){
$itemnode = $this->dom->createElement('item');
foreach($arr as $k=>$v){
$itemnode->appendChild($this->createEle($k,$v));
}
return $itemnode;
}
protected function createEle($name,$value){
$content = $this->dom->createTextNode($value);
$element = $this->dom->createElement($name);
$element->appendChild($content);
return $element;
}
public function display(){
$this->createChannel();
$this->addItem($this->item);
header('content-type:text/xml');
echo $this->dom->savexml();
}
}
//下面是测试代码
$mysqli = new Mysqli('localhost','root','111111','xiaobai');
$mysqli->query('set names utf8');
$re = $mysqli->query('select goods_name as title,goods_price as link,goods_brief as description from test');
$list = array();
while($row = $re->fetch_assoc()){
$list[] = $row;
}
$feed = new CreateRss();
$feed->title = '二次元商城';
$feed->link = 'http://localhost/bool';
$feed->description = '二次元中二少年的梦想商城';
$feed->item = $list;
$feed->display();