php XMLWriter类的简单示例代码(RSS输出)

前端之家收集整理的这篇文章主要介绍了php XMLWriter类的简单示例代码(RSS输出)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="codetitle"><a style="CURSOR: pointer" data="35207" class="copybut" id="copybut35207" onclick="doCopy('code35207')"> 代码如下:

<div class="codebody" id="code35207">
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');
//
$xml->startElement('channel');
// title
$xml->startElement('title');
$xml->text('title');
$xml->endElement();
// link
$xml->startElement('link');
$xml->text('http://jb51.cc/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.cc');
$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.cc/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相关文章