Home  >  Article  >  Backend Development  >  php XMLWriter类的简单示例代码(RSS输出)

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

PHPz
PHPzforward
2016-06-13 10:30:42958browse

这是一段写博客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(&#39;rss&#39;); 
$xml->writeAttribute(&#39;version&#39;,&#39;2.0&#39;); 
// <channel> 
$xml->startElement(&#39;channel&#39;); 
// title 
$xml->startElement(&#39;title&#39;); 
$xml->text(&#39;title&#39;); 
$xml->endElement(); 
// link 
$xml->startElement(&#39;link&#39;); 
$xml->text(&#39;http://jb51.net/post/&#39;); 
$xml->endElement(); 
// description 
$xml->startElement(&#39;description&#39;); 
$xml->text(&#39;&#39;); 
$xml->endElement(); 
// language 
$xml->startElement(&#39;language&#39;); 
$xml->text(&#39;zh-cn&#39;); 
$xml->endElement(); 
// category 
$xml->startElement(&#39;category&#39;); 
$xml->text(&#39;IT&#39;); 
$xml->endElement(); 
// copyright 
$xml->startElement(&#39;copyright&#39;); 
$xml->text(&#39;copyright 2011 jb51.net&#39;); 
$xml->endElement(); 
// for item 
while( $row = $mysql->fetch() ) 
{ 
$xml->startElement(&#39;item&#39;); 
// title 
$xml->startElement(&#39;title&#39;); 
$xml->text( $row[&#39;title&#39;]); 
$xml->endElement(); 
// link 
$xml->startElement(&#39;link&#39;); 
$xml->text( &#39;http://jb51.net/post/&#39;.$row[&#39;id&#39;].&#39;.html&#39;); 
$xml->endElement(); 
// description 
$xml->startElement(&#39;description&#39;); 
$xml->text( $row[&#39;text&#39;] ); 
$xml->endElement(); 
// pubDate 
$xml->startElement(&#39;pubDate&#39;); 
$xml->text( date(&#39;D, d M Y H:i:s T&#39;, $row[&#39;time&#39;]) ); 
$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编程从入门到精通全套视频教程

Statement:
This article is reproduced at:jb51.net. If there is any infringement, please contact admin@php.cn delete