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下使用无限生命期Session的方法
Mar 16 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
PHP使用CURL模拟登录的方法
Jul 08 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
浅谈PHP中的那些魔术常量
Dec 02 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 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
一个php作的文本留言本的例子(四)
2006/10/09 PHP
php通过字符串调用函数示例
2014/03/02 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
2016/08/24 Javascript
JavaScript 监控微信浏览器且自带返回按钮时间
2016/11/27 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
jQuery实现侧边栏隐藏与显示的方法详解
2018/12/22 jQuery
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
在Python下利用OpenCV来旋转图像的教程
2015/04/16 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
2017/08/30 Python
python pygame模块编写飞机大战
2018/11/20 Python
pytorch 使用单个GPU与多个GPU进行训练与测试的方法
2019/08/19 Python
Python的几种主动结束程序方式
2019/11/22 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
flask项目集成swagger的方法
2020/12/09 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
用CSS3绘制三角形的简单方法
2015/07/17 HTML / CSS
小学三年级学生评语
2014/04/22 职场文书
安全协议书
2014/04/23 职场文书
2014年党员评议表自我评价
2014/09/27 职场文书
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫