如何将ASP网页生成HTML网页?

html-css025

如何将ASP网页生成HTML网页?,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

如题

希望有成熟的代码可以供我参考

解析:

以下代码就是将一个ASP的动态页面生成一个HTML的静态页面,注释我已经加上了,自己看吧。

FileName = "Index"&Item_Classid&""

FilePath = Server.MapPath("/")&"\"&FileName

_Temp = _Temp&FilePath&"</LI>"

以上代码是在建立最终生成静态文件的名称和路径。

Do_Url = ""

Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/detail"

Do_Url = Do_Url&"?Item_Classid="&Item_Classid

strUrl = Do_Url

以上代码是通过拼写Do_Url字符串来获得你所传递过来的文件路径和参数,并最终附值到strUrl变量中。

dim objXmlHttp

set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")

objXmlHttp.open "GET",strUrl,false

objXmlHttp.send()

以上这段代码是在通过你所传递过来的strUrl解析该页面中的HTML代码;关键是这句(objXmlHttp.open "GET",strUrl,false )。

Dim binFileData

binFileData = objXmlHttp.responseBody

以上代码是将解析好的HTML代码附到binFileData中

Dim objAdoStream

set objAdoStream = Server.CreateObject("ADODB.Stream")

objAdoStream.Type = 1

objAdoStream.Open()

objAdoStream.Write(binFileData)

objAdoStream.SaveToFile FilePath,2

objAdoStream.Close()

以上这段代码是建立一个文件对象,将所拥有HTML代码的变量binFileData写到该文件中。

_Temp = _Temp&"<UL>"

Response.Write _Temp

Response.Write ( "<BR>" )

Response.Write ( "成功生成文件:" )

以上几句就不用我解释了。。。。:)

其实上面这个做法并不是很科学,还可以将代码更完善些。建议你将这个步骤封装到两个FUNCTION中,这样比较清晰并且方便重复调用,

CreateFile:用于建立生成的静态文件,其中调用GetUrlText进行脚本解析。

Function CreateFile(fileName,url)

Dim fs,fname

Set fs = Server.CreateObject("Scripting.FileSystemObject")

Set fname = fs.CreateTextFile(FileName, True)

fname.Write GetUrlText(url)

fname.Close

Set fname = Nothing

Set fs = Nothing

End Function

GetUrlText:用语解析传递回来的ASP页面

Function GetUrlText(url)

Dim xmlHttp

Set xmlHttp = server.createobject("MSXML2.ServerXMLHTTP")

xmlHttp.setTimeouts 10000,10000,10000,30000

xmlHttp.Open "GET",url, False

xml.setRequestHeader "CONTENT-TYPE", "text/xml"

xmlHttp.Send

If xmlHttp.ReadyState = 4 Then

GetUrlText = xmlHttp.responseText

Else

GetUrlText = ""

End If

End Function

里面URL就是你传递过来的地址,而FileName就是生成文件的地址,你在调用时直接调用CreateFile,将FileName和URL传递过去就可以了,怎么样,是不是比上面的看起来清晰很多:)

1. 第1种方法最简单:

前台给div加上一个id和runat:

<div id="div1" runat="server">

    <img src="1.jpg"/>这里是文字<img src="2.jpg"/>这里是文字

</div>

后台直接这样获取:

string a = div1.InnerHtml

2. 第2种方法复杂点:

通过js获取到div的内容,然后用ajax把内容传递给后台页面,然后在后台处理,你可以在网上搜一下Ajax .net,不太难。

你先用第1种吧。

如果一定要用正则提取,我也不会(挠头)

不过我可以提供一个我以前做过的思路给你。

都是从网页提取文章,然后导数据库里。

不用正则,用Excel。Excel→数据→自其他来源,选你的这个页面。就可以把文字内容导到Excel里了,然后整理什么的,导数据库什么的就OK了。

页面很多就写一个宏命令。不会的话有录制,录制提取一个,然后写一个循环。

作为码农,就不用细说了吧,我觉得应该没问题。(微笑中透露着疲惫)