这是一段写博客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'); // <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://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方法输出到页面
更多相关教程请访问 php编程从入门到精通全套视频教程