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同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP中SESSION使用中的一点经验总结
Mar 30 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
php向js函数传参的几种方法
Aug 10 PHP
通过PHP简单实例介绍文件上传
Dec 16 PHP
php微信公众平台示例代码分析(二)
Dec 06 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 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 google或baidu分页代码
2009/11/26 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
PHP 强制下载文件代码
2010/10/24 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:14:19]NAVI vs Mineski 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
numpy.where() 用法详解
2019/05/27 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
python实现tail -f 功能
2020/01/17 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
网络教育毕业生自我鉴定
2013/10/10 职场文书
中学生运动会口号
2014/06/07 职场文书
2014年度党员自我评议
2014/09/13 职场文书
2014年家长学校工作总结
2014/11/20 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
齐云山导游词
2015/02/06 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技