当前位置:首页 > PHP教程 > php应用 > 列表

PHP中使用xmlreader读取xml数据示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-05 11:31:33 浏览: 评论:0 

这篇文章主要介绍了PHP中使用xmlreader读取xml数据示例,本文示例相对简单,只包含了一个读取功能,需要的朋友可以参考下

有一个XML文件,内容如下:

  1. <?xml version="1.0"?>  
  2. <shows>  
  3.     <show>  
  4.         <name>Simpsons</name>  
  5.         <channel>FOX</channel>  
  6.         <start>8:00 PM</start>  
  7.         <duration>30</duration>  
  8.     </show>  
  9.     <show>  
  10.         <name>Law &amp; Order</name>  
  11.         <channel>NBC</channel>  
  12.         <start>8:00 PM</start>  
  13.         <duration>60</duration>  
  14.     </show>  
  15. </shows>  

这里我们使用XMLReader扩展来解析和处理该文件,XMLReader还有一个好处是以Stream的形式读取数据,即纵然面对超大的xml文件依然可以从容处理。下面是我们针对以上文件的处理方式:

  1. $indexUrl='http://www.phpfensi.com/xxx.xml';   
  2. $reader = new XMLReader();   
  3. $reader->open($indexUrl);   
  4. $countElements = 0;   
  5.  
  6. while ($reader->read()){   
  7.         if($reader->nodeType == XMLReader::ELEMENT){   
  8.             $nodeName = $reader->name;   
  9.         }   
  10.         if($reader->nodeType == XMLReader::TEXT && !emptyempty($nodeName)){   
  11.             switch($nodeName){   
  12.                 case 'name':   
  13.                     $name = $reader->value;   
  14.                     break;   
  15.                 case 'channel':   
  16.                     $channel = $reader->value;   
  17.                     break;   
  18.                 case 'start':   
  19.                     $start = $reader->value;   
  20.                     break;   
  21.                 case 'duration':   
  22.                     $duration = $reader->value;   
  23.                     break;   
  24.             }   
  25.         }   
  26.  }   
  27. $reader->close();

Tags: xmlreader PHP读取xml

分享到: