Welcome 微信登录

首页 / 网页编程 / 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();