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 相关文章推荐
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
解析PHP中$_FILES的使用以及注意事项
Jul 05 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
浅谈php自定义错误日志
Feb 13 PHP
浅谈json_encode用法
Mar 05 PHP
PHP7.0版本备注
Jul 23 PHP
php简单日历函数
Oct 28 PHP
CI框架常用方法小结
May 17 PHP
值得分享的php+ajax实时聊天室
Jul 20 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
Yii2中简单的场景使用介绍
Jun 02 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 类相关函数的使用详解
2013/05/10 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
IE中的File域无法清空使用jQuery重设File域
2014/04/24 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
AngularJS上拉加载问题解决方法
2016/05/23 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
javascript实现的左右无缝滚动效果
2016/09/19 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
Javascript Promise用法详解
2018/05/10 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
详解Python中with语句的用法
2015/04/15 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
关于Python作用域自学总结
2019/06/10 Python
python日期相关操作实例小结
2019/06/24 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
委托书范本
2014/09/13 职场文书
医院科室评语
2015/01/04 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
房屋产权证明书
2015/06/19 职场文书