源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp源码打包成xml的工具

  • 时间:2021-07-15 08:28 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp源码打包成xml的工具
下边这个存为Pack.asp,打包文件时运行
[u]复制代码[/u] 代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  <%OptionExplicit%>  <%OnErrorResumeNext%>  <% Response.Charset="UTF-8"%>  <% Server.ScriptTimeout=99999999%>  <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <htmlxmlns="http://www.w3.org/1999/xhtml">  <head>  <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>  <title>文件打包程序</title>  </head>  <body>  <%  Dim ZipPathDir, ZipPathFile  Dim startime, endtime  '在此更改要打包文件夹的路径  ZipPathDir ="F:\www.yongfa365.com"'  ZipPathFile ="update.xml"  If Right(ZipPathDir,1)<>"\"Then ZipPathDir = ZipPathDir&"\"  '开始打包  CreateXml(ZipPathFile)  '遍历目录内的所有文件以及文件夹  Sub LoadData(DirPath)  Dim XmlDoc      Dim fso 'fso对象  Dim objFolder '文件夹对象  Dim objSubFolders '子文件夹集合  Dim objSubFolder '子文件夹对象  Dim objFiles '文件集合  Dim objFile '文件对象  Dim objStream      Dim pathname, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream      Dim PathNameStr      response.Write("=========="&DirPath&"==========<br>")  Set fso = server.CreateObject("scripting.filesystemobject")  Set objFolder = fso.GetFolder(DirPath)'创建文件夹对象      Response.Write DirPath      Response.flush      Set XmlDoc = Server.CreateObject("Microsoft.XMLDOM")      XmlDoc.load Server.MapPath(ZipPathFile)      XmlDoc.async =False  '写入每个文件夹路径  Set Xfolder = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("folder"))  Set Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement("path"))      Xfpath.text = Replace(DirPath, ZipPathDir,"")  Set objFiles = objFolder.Files      ForEach objFile in objFiles          If LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables("PATH_TRANSLATED"))Then              Response.Write "---<br/>"              PathNameStr = DirPath &""& objFile.Name              Response.Write PathNameStr &""              Response.flush              '================================================  '写入文件的路径及文件内容  Set Xfile = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("file"))  Set Xpath = Xfile.AppendChild(XmlDoc.CreateElement("path"))              Xpath.text = Replace(PathNameStr, ZipPathDir,"")  '创建文件流读入文件内容,并写入XML文件中  Set objStream = Server.CreateObject("ADODB.Stream")              objStream.Type=1              objStream.Open()              objStream.LoadFromFile(PathNameStr)              objStream.position =0  Set Xstream = Xfile.AppendChild(XmlDoc.CreateElement("stream"))              Xstream.SetAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes"  '文件内容采用二制方式存放              Xstream.dataType ="bin.base64"              Xstream.nodeTypedValue = objStream.Read()  Set objStream =Nothing  Set Xpath =Nothing  Set Xstream =Nothing  Set Xfile =Nothing  '================================================  EndIf  Next      Response.Write "<p>"      XmlDoc.Save(Server.Mappath(ZipPathFile))  Set Xfpath =Nothing  Set Xfolder =Nothing  Set XmlDoc =Nothing  '创建的子文件夹对象  Set objSubFolders = objFolder.SubFolders      '调用递归遍历子文件夹  ForEach objSubFolder in objSubFolders          pathname = DirPath & objSubFolder.Name &"\"          LoadData(pathname)  Next  Set objFolder =Nothing  Set objSubFolders =Nothing  Set fso =Nothing  EndSub  '创建一个空的XML文件,为写入文件作准备  Sub CreateXml(FilePath)  '程序开始执行时间      startime = Timer()  Dim XmlDoc, Root      Set XmlDoc = Server.CreateObject("Microsoft.XMLDOM")      XmlDoc.async =False  Set Root = XmlDoc.createProcessingInstruction("xml","version='1.0' encoding='UTF-8'")      XmlDoc.appendChild(Root)      XmlDoc.appendChild(XmlDoc.CreateElement("root"))      XmlDoc.Save(Server.MapPath(FilePath))  Set Root =Nothing  Set XmlDoc =Nothing      LoadData(ZipPathDir)  '程序结束时间      endtime = Timer()      response.Write("页面执行时间:"& FormatNumber((endtime - startime),3)&"秒")  EndSub  %>  </body>  </html> 
下边这个存为Install.asp,安装XML打包文件时运行
[u]复制代码[/u] 代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  <%OptionExplicit%>  <%OnErrorResumeNext%>  <% Response.Charset="UTF-8"%>  <% Server.ScriptTimeout=99999999%>  <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <htmlxmlns="http://www.w3.org/1999/xhtml">  <head>  <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>  <title>文件解包程序</title>  </head>  <body>  <%  Dim strLocalPath  '得到当前文件夹的物理路径  strLocalPath = Left(Request.ServerVariables("PATH_TRANSLATED"), InStrRev(Request.ServerVariables("PATH_TRANSLATED"),"\"))  Dim objXmlFile  Dim objNodeList  Dim objFSO  Dim objStream  Dim i, j  Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM")  objXmlFile.load(Server.MapPath("update.xml"))  If objXmlFile.readyState =4Then  If objXmlFile.parseError.errorCode =0Then  Set objNodeList = objXmlFile.documentElement.selectNodes("//folder/path")  Set objFSO = CreateObject("Scripting.FileSystemObject")          j = objNodeList.Length -1  For i =0To j              If objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen                  objFSO.CreateFolder(strLocalPath & objNodeList(i).text)  EndIf              Response.Write "创建目录"& objNodeList(i).text &"<br/>"              Response.Flush          Next  Set objFSO =Nothing  Set objNodeList =Nothing  Set objNodeList = objXmlFile.documentElement.selectNodes("//file/path")          j = objNodeList.Length -1  For i =0To j              Set objStream = CreateObject("ADODB.Stream")  With objStream                  .Type=1  .Open                  .Write objNodeList(i).nextSibling.nodeTypedvalue                  .SaveToFile strLocalPath & objNodeList(i).text,2                  Response.Write "释放文件"& objNodeList(i).text &"<br/>"                  Response.Flush                  .Close              EndWith  Set objStream =Nothing  Next  Set objNodeList =Nothing  EndIf  EndIf  Set objXmlFile =Nothing  response.Write "文件解包完毕"  %>  </body>  </html> 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部