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