前提:1.php和所有xml文件放在一个目录下
单个xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<config>
? <id>28000</id>
? <name>VIP1礼包</name>
</config>
1.php文件内容如下:
<?php
$dir='./'; //文件夹下的所有文件 ./代表的是当前文件夹
function readxml($dir,&$arr){
if($handle=opendir($dir)){
while(false!==($file=readdir($handle))){
$sub_dir=$dir.DIRECTORY_SEPARATOR.$file;
if(is_dir($sub_dir)&&$file!='.'&&$file!='..'){
readxml($sub_dir,$arr);
}elseif(preg_match('/\.xml$/',$file)){
$arr[]=$sub_dir;
}
}
}
}
readxml($dir,$arr);
foreach($arr as $x){
$doc = new DOMDocument();
$doc->load ($x);
$tmp = $doc->getElementsByTagName('config');
foreach($tmp as $t){
echo $sub_dir;
echo $t->getElementsByTagName('id')->item(0)->nodeValue.";";
echo $t->getElementsByTagName('name')->item(0)->nodeValue."<br>";
}
}
?>
扩展:如果1.php文件在xml文件目录外,且xml文件所在目录为gift那么需要把1.php中$dir='./';修改为$dir='gift/';即可。
输出的效果如下:
28000;VIP1礼包 28001;VIP2礼包 28002;VIP3礼包 28003;VIP4礼包
……
……
|