欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-28 22:41:18
有一个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();