天天看點

PHP xmlwriter 類,php XMLWriter類的簡單示例代碼(RSS輸出)

這是一段寫部落格RSS的代碼,需要的朋友可以參考下。

代碼如下: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');

//

$xml->startElement('rss');

$xml->writeAttribute('version','2.0');

//

$xml->startElement('channel');

// title

$xml->startElement('title');

$xml->text('title');

$xml->endElement();

// link

$xml->startElement('link');

$xml->text('http://jb51.net/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 jb51.net');

$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://jb51.net/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

$xml->endDocument();

// $xml->flush();

前面的mysql.php 是封裝的mysql資料庫功能,單例模式,是以取對象是靜态方法 mysql::getObject();

代碼很簡單

openUri('') 方法的參數可以是一個檔案,那麼xml資料就寫入到這個檔案

或者 php://output 輸出到緩沖區,然後 flush方法輸出到頁面

本文轉載于:腳本之家,如有侵犯,請聯系[email protected]删除