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

时间:2021-04-16

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章