PHP中使用xmlreader读取xml数据示例

yipeiwu_com6年前PHP代码库

有一个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中怎样保持SESSION不过期 原理及方案介绍

PHP中如何保持SESSION以及由此引发的一些思考  最近的一个项目,里面有一个比较大的表单,用户完成它需要很多时间,很多用户花了千辛万苦完成之后,一提交发现SESSION过...

php实现的XML操作(读取)封装类完整实例

本文实例讲述了php实现的XML操作(读取)封装类。分享给大家供大家参考,具体如下: <?xml version="1.0" encoding="utf-8" stan...

php获取本地图片文件并生成xml文件输出具体思路

复制代码 代码如下: <?php $dir="upload/"; $dir_res=opendir($dir); $fileFormat=array(0=>".jpg",1=...

php邮件发送,php发送邮件的类

smtp.class.php 这个是类把他做保存到一个文件中. 复制代码 代码如下: <?php class smtp { /* Public Variables */ var $...

php英文单词统计器

php英文单词统计器

本文实例为大家分享了英文单词统计器php 实现,供大家参考,具体内容如下 程序开始运行, 按"浏览"钮选择一个英文文档, 再按"统计 Statistics"钮, 即可得到按字母顺序列出的...