当前位置:首页 > PHP教程 > PHP高级教程

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

有一个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();  


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!