前面的mysql.php 是封裝的mysql數據庫功能,單例模式,所以取對象是靜態方法 mysql::getObject();
代碼很簡單,如下所示:
- include 'mysql.php';
- $mysql= mysql::getObject();
- $mysql->query("SELECT * FROM post");
- $xml = new XMLWriter();
- $xml->openUri('hello.xml'); // or 'php://output'
- $xml->setIndentString(' ');
- $xml->setIndent(true);
- // start
- $xml->startDocument('1.0', 'UTF-8');
- // <rss version="2.0">
- $xml->startElement('rss');
- $xml->writeAttribute('version','2.0');
- // <channel>
- $xml->startElement('channel');
- // title
- $xml->startElement('title');
- $xml->text('title');
- $xml->endElement();
- // link
- $xml->startElement('link');
- $xml->text('http://foodstory.me/post/');
- $xml->endElement();
- // description
- $xml->startElement('description');
- $xml->text('');
- $xml->endElement();
- // language
- $xml->startElement('language');
- $xml->text('zh-cn');
- $xml->endElement();
- // category
- $xml->startElement('category');
- $xml->text('IT');
- $xml->endElement();
- // copyright
- $xml->startElement('copyright');
- $xml->text('copyright 2011 foodstory.me');
- $xml->endElement();
- // for item
- while( $row = $mysql->fetch() )
- {
- $xml->startElement('item');
- // title
- $xml->startElement('title');
- $xml->text( $row['title']);
- $xml->endElement();
- // link
- $xml->startElement('link');
- $xml->text( 'http://foodstory.me/post/'.$row['id'].'.html');
- $xml->endElement();
- // description
- $xml->startElement('description');
- $xml->text( $row['text'] );
- $xml->endElement();
- // pubDate
- $xml->startElement('pubDate');
- $xml->text( date('D, d M Y H:i:s T', $row['time']) );
- $xml->endElement();
- // category tag author need to write .over
- $xml->endElement(); // item
- }
- $xml->endElement(); // channel
- $xml->endElement(); // rss
- //開源代碼Vevb.com
- $xml->endDocument();
- // $xml->flush();
openUri('') 方法的參數可以是一個文件,那么xml數據就寫入到這個文件或者 php://output 輸出到緩沖區,然后 flush方法輸出到頁面.
新聞熱點
疑難解答