PHP中使用xmlreader读取xml数据示例


Posted in PHP onDecember 29, 2014

有一个XML文件,内容如下:

<?xml version="1.0"?>  

<shows>  

    <show>  

        <name>Simpsons</name>  

        <channel>FOX</channel>  

        <start>8:00 PM</start>  

        <duration>30</duration>  

    </show>  

    <show>  

        <name>Law & Order</name>  

        <channel>NBC</channel>  

        <start>8:00 PM</start>  

        <duration>60</duration>  

    </show>  

</shows> 

这里我们使用XMLReader扩展来解析和处理该文件,XMLReader还有一个好处是以Stream的形式读取数据,即纵然面对超大的xml文件依然可以从容处理。下面是我们针对以上文件的处理方式:

$indexUrl='http://www.xxx.com/xxx.xml';   

$reader = new XMLReader();   

$reader->open($indexUrl);   

$countElements = 0;   

  

while ($reader->read()){   

        if($reader->nodeType == XMLReader::ELEMENT){   

            $nodeName = $reader->name;   

        }   

        if($reader->nodeType == XMLReader::TEXT && !empty($nodeName)){   

            switch($nodeName){   

                case 'name':   

                    $name = $reader->value;   

                    break;   

                case 'channel':   

                    $channel = $reader->value;   

                    break;   

                case 'start':   

                    $start = $reader->value;   

                    break;   

                case 'duration':   

                    $duration = $reader->value;   

                    break;   

            }   

        }   

 }   

$reader->close();  
PHP 相关文章推荐
Windows下的PHP5.0详解
Nov 18 PHP
用来给图片加水印的PHP类
Apr 09 PHP
php定时删除文件夹下文件(清理缓存文件)
Jan 23 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
PHP实现SMTP邮件的发送实例
Sep 27 PHP
PHP实现文字写入图片功能
Feb 18 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
php读取远程gzip压缩网页的方法
Dec 29 #PHP
php导入大量数据到mysql性能优化技巧
Dec 29 #PHP
推荐几个开源的微信开发项目
Dec 28 #PHP
dedecms集成财付通支付接口
Dec 28 #PHP
VPS中使用LNMP安装WordPress教程
Dec 28 #PHP
php随机取mysql记录方法小结
Dec 27 #PHP
php使用PDO方法详解
Dec 27 #PHP
You might like
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
jquery调用wcf并展示出数据的方法
2011/07/07 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
使用JavaScript 实现对象 匀速/变速运动的方法
2013/05/08 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
原生js实现放大镜
2017/02/20 Javascript
javascript数组去重常用方法实例分析
2017/04/11 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
2018/12/09 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
Python if语句知识点用法总结
2018/06/10 Python
在python中bool函数的取值方法
2018/11/01 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
护士自我鉴定范文
2013/10/06 职场文书
上班迟到检讨书
2014/01/10 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
Python四款GUI图形界面库介绍
2022/06/05 Python