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 相关文章推荐
用PHP调用Oracle存储过程
Oct 09 PHP
php学习笔记(三)操作符与控制结构
Aug 06 PHP
PHP三元运算符的结合性介绍
Jan 10 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
php加密算法之实现可逆加密算法和解密分享
Jan 21 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 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
PHP防注入安全代码
2008/04/09 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
为数据添加append,remove功能
2006/10/03 Javascript
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
详解React+Koa实现服务端渲染(SSR)
2018/05/23 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
Js逆向实现滑动验证码图片还原的示例代码
2020/03/10 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
Python中面向对象你应该知道的一下知识
2019/07/10 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
学生就业推荐信
2013/11/13 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
水电工岗位职责
2014/02/12 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
员工教育培训协议书
2014/09/27 职场文书
2014年教学工作总结
2014/11/13 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
如何制定一份可行的计划!
2019/06/21 职场文书
golang slice元素去重操作
2021/04/30 Golang
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
PyTorch device与cuda.device用法
2022/04/03 Python