65.9K
CodeProject 正在变化。 阅读更多。
Home

创建 XML 新闻源

starIconstarIconstarIconemptyStarIconemptyStarIcon

3.00/5 (1投票)

2002年7月30日

1分钟阅读

viewsIcon

80004

本文档解释了如何在 ASP 页面中创建 XML 新闻源。

引言

创建 XML 新闻源是掌握 XML 实际应用的一个很好的方法。本教程来自 CodeToad.Com,将解释如何处理目前各种网站提供的 XML 提要,并将它们转换为可用的网页。我们将使用样式表和少量 ASP 代码来完成这项工作。

点击此处 查看最终新闻源页面的效果。

moreover.com 的完整 XML 新闻源列表可在 http://w.moreover.com/categories/category_list_xml.html%20target=_blank 找到。Amazon 联盟营销人员也可以选择以 XML 格式创建他们的链接,从而提高搜索和产品展示的效果。

我们将使用 ASP 页面中的 xmlHTTP 对象来从生成 XML 的网站提供的 URL 中获取 XML。有关 xmlHttp 的更多信息,请参阅我的 XML HTTP 教程

一旦我们获得了 XML,我们就会调用样式表来显示页面。

然后 ASP 页面看起来如下

<%

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 
                     & "<br> URL:" & objXSL.url
end if

Set objHTTP = Nothing
Set objXML = Nothing
Set objXSL = Nothing
%>

我们引用了一个名为 style.xsl 的样式表。我们的 XSL 样式表循环遍历 XML 中的每个项目并显示记录。显然,您需要查看您拥有的 XML 并根据需要调整样式表,但这应该足以让您了解。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <xsl:template match="/">

<html>
<head>
<TITLE>moreover...</TITLE>
</head>
<body BGCOLOR="ffffff">

 <br/><br/>
<br/> br

 

<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">
             <B>
                   <A>
             <xsl:attribute name="HREF">
               <xsl:value-of select="url"/>
             </xsl:attribute>
             <xsl:attribute name="TARGET">
               _blank
             </xsl:attribute>
             <FONT FACE="Verdana, Arial,Helvetica, 
                       sans-serif" SIZE="-1" COLOR="000000">
               <xsl:value-of select="headline_text"/>
             </FONT>
           </A>
         </B>
         <BR/>
                 <A>
           <xsl:attribute name="HREF">
             <xsl:value-of select="document_url"/>
           </xsl:attribute>
           <xsl:attribute name="TARGET">
             _blank
           </xsl:attribute>
           <FONT FACE="Verdana, Arial,Helvetica, 
                   sans-serif" SIZE="-2" COLOR="666666">
             <xsl:value-of select="source"/>
           </FONT>
         </A>
                 <A>
           <xsl:attribute name="HREF">
           <xsl:value-of select="access_registration"/>
           </xsl:attribute>
           <xsl:attribute name="TARGET">
             _blank
           </xsl:attribute>
           <FONT FACE="Verdana, Arial,Helvetica, 
                  sans-serif" SIZE="-2" COLOR="666666">
             <xsl:value-of select="access_status"/>
           </FONT>
         </A>
         <FONT FACE="Verdana, Arial,Helvetica, 
                 sans-serif" SIZE="-2" COLOR="666666">
           <xsl:value-of select="harvest_time"/> GMT
         </FONT>
           </TD>
         </TR>
          
       </xsl:for-each>


</TABLE>
</DIV>
</body>
</html>
    </xsl:template>
  </xsl:stylesheet>

这是生成的页面看起来的样子。请记住,我们指向原始 ASP 页面来完成工作并提取 XML 和样式表。我们的新闻源提取了流行音乐新闻,因此 点击此处获取最新的流行音乐新闻

© . All rights reserved.