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 Redis函数用法实例总结【附php连接redis单例类】

本文实例总结了php Redis函数用法。分享给大家供大家参考,具体如下: 一直在拿PHP使用Redis,但是总感觉不牢靠,索性借这个时间空余一气呵成, 把PHP中所有操作到的Redis...

php数组函数序列之in_array() 查找数组值是否存在

in_array() 定义和用法 in_array() 函数在数组中搜索给定的值。 语法 in_array(value,array,type) 参数 描述 value 必需。规定要在数组...

高质量PHP代码的50个实用技巧必备(下)

接着上篇《高质量PHP代码的50个实用技巧必备(上)》继续研究。 26. 避免直接写SQL, 抽象之 不厌其烦的写了太多如下的语句: <span style="color...

24条货真价实的PHP代码优化技巧

 PHP代码优化24条真经,希望对大家开发php项目有所帮助,具体内容如下  1.echo比print快。  2.使用echo的多重参数代替字符串连接。...

php curl_init函数用法

无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内容,cURL 是一个功能强大的PHP库。 PHP中的CURL函数库(Client URL...