<?php
/******
定制RSS源
RSS2.0样式
<?xml version="1.0" encoding="utf8"?>
<?rss version="2.0">
<channel>
<!-- 三个必须的标签 -->
    <title></title>
    <link></link>
    <description></description>
<!--三个必须的标签-->
<!--下面N个item-->
    <item>
    <!--link不是必须的,title和description有一个就行-->
        <title></title>
        <link></link>
        <description></description>
    </item>    
</channel>
</rss>
***/

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();