加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp源码打包成xml的工具分享

发布时间:2023-05-23 14:15:31 所属栏目:Asp教程 来源:
导读:下边这个存为Pack.asp,打包文件时运行

复制代码代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%OptionExplicit%>

<%OnErrorResumeNext%>

<% Response.Charset="UTF-8"%>

<% Server
下边这个存为Pack.asp,打包文件时运行
 
复制代码代码如下:
 
<%@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打包文件时运行
 
复制代码代码如下:
 
<%@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>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章