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