服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - FSO+递归生成文件列表(xml)

FSO+递归生成文件列表(xml)

2019-11-01 12:50asp教程网 ASP教程

本来生成这个xml文档是为了开发一个ftp的搜索,后来由于没有资料参考怎么搜索xml文档,也就放弃了.其中最重要的是递归的算法.生成文件列表的速度很快.这个程序可以用于生成播放列表之类的东东.需要IIS的FSO组件支持.生成类似下面

本来生成这个xml文档是为了开发一个ftp的搜索,后来由于没有资料参考怎么搜索xml文档,也就放弃了.其中最重要的是递归的算法.生成文件列表的速度很快.这个程序可以用于生成播放列表之类的东东.需要IIS的FSO组件支持.生成类似下面的XML文档

  1. <?xml version="1.0" encoding="gb2312"?>  
  2. <ftp ip="10.1.228.228">  
  3. <DIR path="Game">  
  4. <DIR path="仙剑奇侠传2(save)">  
  5. <file size="346294">complete_camel.rar</file>  
  6. <file size="1886286">complete_funlove.rar</file>  
  7. </DIR>  
  8. </DIR>  
  9. </ftp>  
  10.  
  11. make_file_list.asp  
  12. <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>  
  13. <%  
  14. '######################################'  
  15. '## Copyright (C) 2003 醉雨梧桐 All rights reserved. ##'  
  16. '## Powered by 醉雨梧桐 ##'  
  17. '## http://btyz.51web.cn/ ##'  
  18. '## winterfire@163.com ##'  
  19. '######################################'  
  20. Dim objFo,objF,objAF,objFxml  
  21. set objFo=CreateObject("Scripting.FileSystemObject") '对象  
  22.  
  23. set objFxml=objFo.OpenTextFile("G:\My Documents\http\Personal Works\FTP_Search\ftp.xml",2) '打开文件  
  24.  
  25. objFxml.WriteLine("<?xml version=""1.0"" encoding=""gb2312""?>")  
  26. objFxml.WriteLine("<ftp ip=""10.1.228.228"">")  
  27. Call xml_list("F:\") '开始列表  
  28. objFxml.WriteLine("</ftp>")  
  29. Response.Write("List is OK!) '列表成功  
  30.  
  31.  
  32. Function xml_list(DirName)  
  33. set objFS=objFo.GetFolder(DirName)  
  34. set objASD=objFS.SubFolders  
  35. For Each OneDir in objASD  
  36. strFdName=Trim(OneDir.Name)  
  37. '下面所列的文件夹不生成在列表中(系统文件或者隐藏文件)  
  38. If strFdName<>"Config.Msi" EQV strFdName<>"RECYCLED" EQV strFdName<>"RECYCLER" EQV strFdName<>"System Volume Information" Then  
  39. OneDirName=xml_format(OneDir.Name) '对&进行转义  
  40. objFxml.WriteLine("<DIR path="""&OneDirName&""">") '生成<DIR path="文件夹"></DIR>  
  41. SDirName=DirName&"\"&OneDir.Name '下一个递归的地址  
  42. Call xml_list(SDirName) '调用递归  
  43. objFxml.WriteLine("</DIR>")  
  44. End If '结束判断  
  45. Next  
  46. set objSF=objFS.Files  
  47. For Each OneFile in objSF '列出文件  
  48. objFxml.WriteLine("<file size="""&OneFile.size&""">"&OneFile.Name&"</file>") '生成<file>文件名</file>  
  49. Next  
  50. End Function  
  51.  
  52. '去掉XML不允许的字符  
  53. Function xml_format(strDirName)  
  54. strDirName=Replace(strDirName,"&","&") '把半角的&转化为&  
  55. xml_format=strDirName  
  56. End Function  
  57. %>  

延伸 · 阅读

精彩推荐