Board logo

标题: FSO+递归生成文件列表(xml) [打印本页]

作者: 坏的刚刚好    时间: 2005-5-26 16:36     标题: FSO+递归生成文件列表(xml)

本来生成这个xml文档是为了开发一个ftp的搜索,后来由于没有资料参考怎么搜索xml文档,也就放弃了.其中最重要的是递归的算法.生成文件列表的速度很快.这个程序可以用于生成播放列表之类的东东.需要IIS的FSO组件支持.生成类似下面的XML文档 complete_camel.rar complete_funlove.rar make_file_list.asp <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% ';######################################'; ';## Copyright (C) 2003 醉雨梧桐 All rights reserved. ##'; ';## Powered by 醉雨梧桐 ##'; ';## http://btyz.51web.cn/ ##'; ';## winterfire@163.com ##'; ';######################################'; Dim objFo,objF,objAF,objFxml set objFo=CreateObject("Scripting.FileSystemObject") ';对象 set objFxml=objFo.OpenTextFile("G:\My Documents\http\Personal Works\FTP_Search\ftp.xml",2) ';打开文件 objFxml.WriteLine("") objFxml.WriteLine("") Call xml_list("F:\") ';开始列表 objFxml.WriteLine("") Response.Write("List is OK!) ';列表成功 Function xml_list(DirName) set objFS=objFo.GetFolder(DirName) set objASD=objFS.SubFolders For Each OneDir in objASD strFdName=Trim(OneDir.Name) ';下面所列的文件夹不生成在列表中(系统文件或者隐藏文件) If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then OneDirName=xml_format(OneDir.Name) ';对&进行转义 objFxml.WriteLine("") ';生成 SDirName=DirName&"\"&OneDir.Name ';下一个递归的地址 Call xml_list(SDirName) ';调用递归 objFxml.WriteLine("") End If ';结束判断 Next set objSF=objFS.Files For Each OneFile in objSF ';列出文件 objFxml.WriteLine(""&OneFile.Name&"") ';生成文件名 Next End Function ';去掉XML不允许的字符 Function xml_format(strDirName) strDirName=Replace(strDirName,"&","&") ';把半角的&转化为& xml_format=strDirName End Function %>




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2