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 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
杏林同学录(五)
Oct 09 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
php中opendir函数用法实例
Nov 15 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
PHP错误机制知识汇总
Mar 24 PHP
php获取客户端IP及URL的方法示例
Feb 03 PHP
快速解决PHP调用Word组件DCOM权限的问题
Dec 27 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 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 xfocus防注入资料
2008/04/27 PHP
递归删除一个节点以及该节点下的所有节点示例
2014/03/19 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
总结javascript三元运算符知识点
2018/09/28 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
Python中的__slots__示例详解
2017/07/06 Python
mac安装python3后使用pip和pip3的区别说明
2020/09/01 Python
Python使用Pygame绘制时钟
2020/11/29 Python
python中spy++的使用超详细教程
2021/01/29 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
演讲稿怎么写才完美
2014/01/02 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
redis数据结构之压缩列表
2022/03/21 Redis
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python