php教程

超轻量级php框架startmvc

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

更新时间:2020-03-01 20:29:41 作者:startmvc
有一个XML文件,内容如下:<?xmlversion="1.0"?> <shows>    <sho

有一个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 xmlreader 读取xml数据