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


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 相关文章推荐
PHP句法规则详解 入门学习
Nov 09 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 PHP
分享一则PHP定义函数代码
Feb 26 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
PHP中Session可能会引起并发问题
Jun 26 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
浅谈PHP中的错误处理和异常处理
Feb 04 PHP
自制PHP框架之路由与控制器
May 07 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 PHP
简单的PHP缓存设计实现代码
Sep 30 #PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 #PHP
php json_encode奇怪问题说明
Sep 27 #PHP
PHP安全配置详细说明
Sep 26 #PHP
使用PHP遍历文件夹与子目录的函数代码
Sep 26 #PHP
抓取并下载CSS中所有图片文件的php代码
Sep 26 #PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 #PHP
You might like
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
javascript日期格式化示例分享
2014/03/05 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
Python动态加载模块的3种方法
2014/11/22 Python
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
python能做哪些生活有趣的事情
2020/09/09 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
实习生岗位职责
2014/04/12 职场文书
幼儿生日活动方案
2014/08/27 职场文书
维稳工作情况汇报
2014/10/27 职场文书
武侯祠导游词
2015/02/04 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书