Heim > Artikel > Backend-Entwicklung > PHP遍历指定文件夹内的XML资料,100分啊100分
PHP遍历指定文件夹内的XML文件,100分啊,100分。
XML文件格式为:
<br /><?xml version="1.0" encoding="UTF-8"?><br /><template><br /><title><![CDATA[《克鲁德一家》预告]]></title> <br /> <image>130112001.jpg</image> <br /> <intro><![CDATA[《克鲁德一家》预告]]></intro> <br /> <mediapath>130112001.3gp</mediapath><br /></template><br />
<br /><br />指定文件夹目录路径:D:\001\1003(此文件夹下有多个XML文件)<br /><br />遍历开始(读取4个XML文件,满足后停止遍历)<br /><br />读取一个XML文件内容<br /><br />$title=XML内的title<br /><br />$img=XML内的image<br /><br />$path=此XML文件的路径<br /><br />把这3个变量输出到页面<br /><br />遍历结束<br /><br />
$i == 0<br />foreach (glob("D:\\001\\1003\\*.xml") as $filename) {<br /> if ($i >3) break;<br /> 读取$filename……<br /> $i++;<br />}
<br />$dir='D:\001\1003';<br />function readxml($dir,&$arr){<br /> if($handle=opendir($dir)){<br /> while(false!==($file=readdir($handle))){<br /> $sub_dir=$dir.DIRECTORY_SEPARATOR.$file;<br /> if(is_dir($sub_dir)&&$file!='.'&&$file!='..'){<br /> readxml($sub_dir,$arr);<br /> }elseif(preg_match('/\.xml$/',$file)){<br /> if(count($arr)>3){<br /> return false;<br /> }<br /> $arr[]=$sub_dir;<br /> }<br /> }<br /> }<br />}<br />readxml($dir,$arr);<br />foreach($arr as $x){<br /> $doc = new DOMDocument();<br /> $doc->load ($x);<br /> $tmp = $doc->getElementsByTagName('template');<br /> foreach($tmp as $t){<br /> Echo 'title:'.$t->getElementsByTagName('title')->item(0)->nodeValue."<br>";<br /> Echo 'image:'.$t->getElementsByTagName('image')->item(0)->nodeValue."<br>";<br /> Echo 'intro:'.$t->getElementsByTagName('intro')->item(0)->nodeValue."<br>";<br /> Echo 'mediapath:'.$t->getElementsByTagName('mediapath')->item(0)->nodeValue."<br>";<br /> }<br /> Echo "<p>--------------------------------------</p>";<br />}<br />