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 相关文章推荐
20个PHP常用类库小结
Sep 11 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
php遍历数组的方法分享
Mar 22 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
php中的strpos使用示例
Feb 27 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
php调整服务器时间的方法
Apr 03 PHP
Symfony2创建页面实例详解
Mar 18 PHP
php中的抽象方法和抽象类
Feb 14 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
May 29 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 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
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
javascript中的括号()用法小结
2014/04/14 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
webpack之devtool详解
2018/02/10 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
python实现360皮肤按钮控件示例
2014/02/21 Python
python实现无证书加密解密实例
2014/10/27 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
对python中的装包与解包实例详解
2019/08/24 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
解决python 找不到module的问题
2020/02/12 Python
详解python中的lambda与sorted函数
2020/09/04 Python
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
实习生矿工检讨书
2014/10/13 职场文书
邀请书模板
2015/02/02 职场文书
大明湖导游词
2015/02/03 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
JVM之方法返回地址详解
2022/02/28 Java/Android
Python实现归一化算法详情
2022/03/18 Python