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实现的简单sha1加密功能示例

本文实例讲述了PHP实现的sha1加密功能。分享给大家供大家参考,具体如下: function encryptTokey($data){ $apikey = 'testap...

php数组函数序列之array_flip() 将数组键名与值对调

array_flip() 定义和用法 array_flip() 函数将使数组的键名与其相应值调换,即键名变成了值,而值变成了键名。 array_flip() 函数返回一个反转后的数组,如...

PHP写入WRITE编码为UTF8的文件的实现代码

<?php  $f=fopen("test.txt", "wb");  $text=utf8_encode("顨!");  // ...

PHP字符串长度计算 - strlen()函数使用介绍

strlen()函数和mb_strlen()函数 在PHP中,函数strlen()返回字符串的长度。函数原型如下: 复制代码 代码如下: int strlen(string string...

php 结果集的分页实现代码

复制代码 代码如下:<?php @mysql_connect("localhost", "root","1981427") //连接数据库服务器 or die("数据库服务器连接失...