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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
PHP数字格式化
Dec 06 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
PHP实现多图片上传类实例
Jul 26 PHP
php中字符串和正则表达式详解
Oct 23 PHP
PHP 验证登陆类分享
Mar 13 PHP
PHP中Restful api 错误提示返回值实现思路
Apr 12 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
PHP实现验证码校验功能
Nov 16 PHP
PHP抽象类基本用法示例
Dec 28 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
PHP实现创建一个RPC服务操作示例
Feb 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
javascript some()函数用法详解
2014/11/13 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
offsetParent 算法分析
2010/04/05 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
Python群发邮件实例代码
2014/01/03 Python
python冒泡排序简单实现方法
2015/07/09 Python
AI人工智能 Python实现人机对话
2017/11/13 Python
python实现简易版计算器
2020/06/22 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python 多线程中join()的作用
2020/10/29 Python
总经理职责范文
2013/11/08 职场文书
团组织关系介绍信
2014/01/12 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
单位消防安全责任书
2014/07/23 职场文书
党纪处分决定书
2015/06/24 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
2016年大学校运会广播稿件
2015/12/21 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
python实现简单石头剪刀布游戏
2021/10/24 Python
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS