我们在编写ASP代码的时候,大家都知道可以通过post或者get获得form表单的数据,那么我们如何直接获得其他页面上的数据呢?这就要借助xmlhttp协议了。xmlhttp是xmldom技术的一部分。 下面的代码就是一个很简单的例子,我们利用xmlhttp技术,把http://www.codetoad.com/站点首页的代码以xml的形式完全获取,并且在页面中输出。 <% Dim objXMLHTTP, xml Set xml = Server.CreateObject("Microsoft.XMLHTTP") xml.Open "GET", "http://www.codetoad.com/", False ' Pull the data from the web page xml.Send Response.write "Here's the html we now have in our xml object" Response.write "<BR><BR><BR>" Response.Write "<xmp>" Response.Write xml.responseText Response.Write "</xmp>" Response.write "<BR><BR><BR>" Response.write " Now here's how the page looks:<BR><BR>" Response.Write xml.responseText Set xml = Nothing %>
下面是另一个实例 <% dim objHTTP , objXML , objXSL set objHTTP = Server.CreateObject("Microsoft.XMLHTTP") objHTTP.open "GET", "http://p.moreover.com/cgi-local/page?c=Pop%20music%20reviews&o=xml", false objHTTP.send set objXML = objHTTP.responseXML set objXSL=Server.CreateObject("microsoft.xmldom") objXSL.async=false objXSL.load(Server.MapPath("style.xsl")) if (objXSL.parseError.errorCode = 0) then Response.Write(objXML.transformnode(objXSL)) else Response.Write "Error: " & objXSL.parseError.reason & " URL:" & objXSL.url end if Set objHTTP = Nothing Set objXML = Nothing Set objXSL = Nothing %> style.xsl: <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <head> <TITLE>moreover...</TITLE> </head> <body BGCOLOR="ffffff">
<DIV ALIGN="center"> <TABLE BGCOLOR="ffffff" BORDER="0" CELLPADDING="4" CELLSPACING="0" WIDTH="100%"> <xsl:for-each select="moreovernews/article"> <TR VALIGN="middle"> <TD ALIGN="left" BGCOLOR="ffffff"> <xsl:attribute name="HREF"> <xsl:value-of select="url"/> </xsl:attribute> <xsl:attribute name="TARGET"> _blank </xsl:attribute> <xsl:value-of select="headline_text"/> <xsl:attribute name="HREF"> <xsl:value-of select="document_url"/> </xsl:attribute> <xsl:attribute name="TARGET"> _blank </xsl:attribute> <xsl:value-of select="source"/> <xsl:attribute name="HREF"> <xsl:value-of select="access_registration"/> </xsl:attribute> <xsl:attribute name="TARGET"> _blank </xsl:attribute> <xsl:value-of select="access_status"/> <xsl:value-of select="harvest_time"/> GMT </TD> </TR> </xsl:for-each> </TABLE> </DIV> </body> </html> </xsl:template> </xsl:stylesheet>
|