PHP中使用xmlreader读取xml数据示例
程序员文章站
2023-04-03 10:13:38
有一个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();