在asp下如何通过xml打包网站文件-创新互联

这篇文章将为大家详细讲解有关在asp下如何通过xml打包网站文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我们提供的服务有:成都网站设计、网站建设、微信公众号开发、网站优化、网站认证、广灵ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的广灵网站制作公司

代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<% Option Explicit %> 
<% On Error Resume Next %> 
<% Response.Charset="UTF-8" %> 
<% Server.ScriptTimeout=99999999 %>
 
 
 
脚本之家——文件解包程序_www.jb51.net 
 
 
<% 
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=4 Then 
        If objXmlFile.parseError.errorCode = 0 Then 
            Set objNodeList = objXmlFile.documentElement.selectNodes("//folder/path") 
            Set objFSO = CreateObject("Scripting.FileSystemObject") 
                j=objNodeList.length-1 
                For i=0 To j 
                    If objFSO.FolderExists(strLocalPath & objNodeList(i).text)=False Then 
                        objFSO.CreateFolder(strLocalPath & objNodeList(i).text) 
                    End If 
                    Response.Write "创建目录" & objNodeList(i).text & "
"                      Response.Flush                  Next              Set objFSO = nothing              Set objNodeList = nothing              Set objNodeList = objXmlFile.documentElement.selectNodes("//file/path")                  j=objNodeList.length-1                  For i=0 To 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 & "
"                              Response.Flush                              .Close                          End With                      Set objStream = Nothing                  Next              Set objNodeList = nothing          End If      End If  Set objXmlFile = Nothing  response.write "文件解包完毕"  %>   

pack.asp 打包文件

代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<% Option Explicit %> 
<% On Error Resume Next %> 
<% Response.Charset="UTF-8" %> 
<% Server.ScriptTimeout=99999999 %>
 
 
 
 
文件打包程序_脚本之家_www.jb51.net 
 
 
<% 
Dim ZipPathDir,ZipPathFile 
Dim startime,endtime 
'在此更改要打包文件夹的路径 
ZipPathDir = "D:\testasp\dictionary\xmlPacked\scrollColor"' 
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&"==========
")      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              for each objFile in objFiles                  if lcase(DirPath & objFile.name) <> lcase(Request.ServerVariables("PATH_TRANSLATED")) then                      Response.Write "---
"                      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                    '================================================                  end if              next      Response.Write "

"      XmlDoc.Save(Server.Mappath(ZipPathFile))      set Xfpath = nothing      set Xfolder = nothing      set XmlDoc = nothing      '创建的子文件夹对象      set objSubFolders=objFolder.Subfolders          '调用递归遍历子文件夹          for each objSubFolder in objSubFolders              pathname = DirPath & objSubFolder.name & "\"              LoadData(pathname)          next      set objFolder=nothing      set objSubFolders=nothing      set fso=nothing  end sub  '创建一个空的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) & "秒")  end sub  %>   

关于“在asp下如何通过xml打包网站文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


文章标题:在asp下如何通过xml打包网站文件-创新互联
分享网址:http://scyanting.com/article/disjsc.html