Posted in PHP onSeptember 30, 2011
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://3water.com/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 3water.com'); $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://3water.com/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方法输出到页面
php XMLWriter类的简单示例代码(RSS输出)
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@