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

yipeiwu_com5年前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性能的原理介绍

但当您使用的数据库与 Web 服务器位于不同的计算机上时,缓存数据库结果集通常是一个不错的方法。不过,根据您的情况确定最佳的缓存策略却是一个难题。例如,对于使用最新数据库结果集比较重要的...

php将print_r处理后的数据还原为原始数组的解决方法

PHP print_r方法可以把变量打印显示,使变量易于理解。如果变量是string,integer或float,将打印变量值本身,如果变量是array,将会按照一定格式显示键和元素。o...

PHP Header用于页面跳转时的几个注意事项

前言 本文介绍的是在PHP中用header("location:test.php")进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题 一、location和“:”号间不能有空格,...

windows7下安装php的imagick和imagemagick扩展教程

最近的PHP项目中,需要用到切图和缩图的效果,在linux测试服务器上很轻松的就安装好php imagick扩展。但是在本地windows开发环境,安装过程遇到好多问题,在此与大家分享。...

用PHP获取Google AJAX Search API 数据的代码

http://code.google.com/apis/ajaxsearch/documentation/ 复制代码 代码如下: // This example request incl...