作者:手机用户2502927973 | 来源:互联网 | 2014-03-27 16:53
PHP遍历指定文件夹内的XML文件,100分啊,100分。XML文件格式为:<?xml version="1.0" encoding="UTF-8"?><template><title><![CDATA[《克鲁德一家》预告
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