• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP遍历指定文件夹内的XML资料,100分啊100分

php 搞代码 4年前 (2022-01-24) 20次浏览 已收录 0个评论

PHP遍历指定文件夹内的XML文件,100分啊,100分。
XML文件格式为:

<br /><?xml version="1.0" encoding="UTF-8"?><br /><br /><title></title> <br />  130112001.jpg <br />   <br />  130112001.3gp<br /><br />

一个XML文件相当于一条数据。

由于我初学PHP不久,求翻译下面的代码。。。

<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 />

等于读取了4条数据,每条数据包含title,img,path这3个变量的值。

php xml

——解决方案——————–
翻手册,opendir遍历,DOMDocument解析XML
——解决方案——————–

$i == 0<br />foreach (glob("D:\\001\\1003\\*.xml") as $filename) {<br />    if ($i >3) break;<br />    读取$filename……<br />    $i++;<br />}

读取$filename 的部分参考 http://bbs.gaodaima.com/topics/390354196
懒得写了
——解决方案——————–

<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 />

给分来!!!!
——解决方案——————–
还真是清零了,晕
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.gaodaima.com/topics/本&文来源gao@daima#com搞(%代@#码网@390354196
懒得写了……


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP遍历指定文件夹内的XML资料,100分啊100分

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址