php遍历指定文件夹内的xml文件,100分啊,100分。
xml文件格式为:
130112001.jpg
130112001.3gp
一个xml文件相当于一条数据。
由于我初学php不久,求翻译下面的代码。。。
指定文件夹目录路径:d:\001\1003(此文件夹下有多个xml文件)
遍历开始(读取4个xml文件,满足后停止遍历)
读取一个xml文件内容
$title=xml内的title
$img=xml内的image
$path=此xml文件的路径
把这3个变量输出到页面
遍历结束
等于读取了4条数据,每条数据包含title,img,path这3个变量的值。
php xml
------解决方案--------------------
翻手册,opendir遍历,domdocument解析xml
------解决方案--------------------
$i == 0
foreach (glob(d:\\001\\1003\\*.xml) as $filename) {
if ($i >3) break;
读取$filename……
$i++;
}
读取$filename 的部分参考 http://bbs.csdn.net/topics/390354196
懒得写了
------解决方案--------------------
$dir='d:\001\1003';
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)){
if(count($arr)>3){
return false;
}
$arr[]=$sub_dir;
}
}
}
}
readxml($dir,$arr);
foreach($arr as $x){
$doc = new domdocument();
$doc->load ($x);
$tmp = $doc->getelementsbytagname('template');
foreach($tmp as $t){
echo 'title:'.$t->getelementsbytagname('title')->item(0)->nodevalue.
;
echo 'image:'.$t->getelementsbytagname('image')->item(0)->nodevalue.
;
echo 'intro:'.$t->getelementsbytagname('intro')->item(0)->nodevalue.
;
echo 'mediapath:'.$t->getelementsbytagname('mediapath')->item(0)->nodevalue.
;
}
echo --------------------------------------
;
}
给分来!!!!
------解决方案--------------------
还真是清零了,晕
foreach (glob(d:\\001\\1003\\*.xml) as $key => $filename)
用$key就可以判断读了四个停止遍历了,不需要$i
引用:php code?123456$i == 0foreach (glob(d:\\001\\1003\\*.xml) as $filename) { if ($i >3) break; 读取$filename…… $i++;}
读取$filename 的部分参考 http://bbs.csdn.net/topics/390354196
懒得写了……