asp 소스 코드 를 xml 로 포장 하 는 도구

5099 단어
아래 에 있 는 이것 은 Pack. asp 로 저장 되 어 있 으 며, 파일 을 포장 할 때 실 행 됩 니 다.
 
  
 
 
 
 
 
-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
 
 
 
 

 


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&"==========
") 
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 "---

            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 "


    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 


%> 
 

좋은 웹페이지 즐겨찾기