ASP经典阅读XML Feed

时间:2014-03-09 16:20:09

标签: xml asp-classic xml-parsing

我无法阅读以下Feed。 http://www.whatsonincapetown.com/feed/

我的代码如下:

<%

TheFeed = "http://www.whatsonincapetown.com/feed/"

Set xmlDOM = Server.CreateObject("MSXML2.DOMDocument")
xmlDOM.async = False
xmlDOM.setProperty "ServerHTTPRequest", True
xmlDOM.Load("TheFeed")

Set itemList = XMLDom.SelectNodes("rss[1]/channel/item") 

myCount = 0
response.write "Getting Cape Town News Feed."
For Each itemAttrib In itemList
    myCount = myCount + 1
    response.write (myCount)
    newsSubject =itemAttrib.SelectSingleNode("title").text
    newsExtract =itemAttrib.SelectSingleNode("description").text
    newsDate =itemAttrib.SelectSingleNode("pubDate").text
    %>
    <tr>
        <td><%=newsSubject%></td>
        <td><%=newsDate%></td>
        <td><%=newsExtract%></td>
    </tr>
    <%
Next

Set xmlDOM = Nothing
Set itemList = Nothing

%>

任何人都知道为什么它无法解析Feed,也没有给出任何形式的错误。

2 个答案:

答案 0 :(得分:3)

尝试并更改

xmlDOM.Load("TheFeed")

xmlDOM.Load(TheFeed)

因为TheFeed是一个变量,而不是一个字符串: - )

答案 1 :(得分:1)

这里有一个用于阅读RSS源的asp脚本。评论是丹麦语,但如果您了解VBS,这应该不是问题。

https://web.archive.org/web/20050517002557/http://www.html.dk/scripts/asp/00020/

然而,IMO使用经典ASP解析XML的最佳方法是使用XSL样式表。你的ASP代码看起来像这样。

set xml = Server.CreateObject("Msxml2.DomDocument.6.0")
  xml.setProperty "ServerHTTPRequest", true
  xml.async = false
  xml.validateOnParse = false
  xml.load("http://yourfeed")
  set xsl = Server.CreateObject("Msxml2.DomDocument.6.0")
  xsl.load(Server.Mappath("yourstylesheet.xsl"))
  Response.Write(xml.transformNode(xsl))
  set xsl = nothing
  set xml = nothing

您应该可以在某处找到现成的rss reader xsl文档