RSS News Feed

Bicko

Erfahrenes Mitglied
Hi,

da bin ich wieder mit einer neuen Herausfoderung. Meine anderen Probleme sind ja weitgehend geloest, obwohl ich mich noch weiter mit dem Formular and for each auseinandersetzen muss...

Doch nun zu meinem momentanen Problem. Ich moechte gerne RSS auf der Seite einsetzen, also News von einer anderen Seite anbieten. Im Netz habe ich nun das ganz einfache RSS2HTML.asp gefunden, das mir eigentlich schon reicht. Es funktioniert auch einwandfrei, nur moechte ich gerne sichergehen, das wenn mal keine Verbindung zur Seite die die News anbietet, besteht, soll halt eine Nachricht erscheinen wie "Momentan keine News"

Das Script zeigt jedoch eine Fehlermeldung:

Error Type:
msxml3.dll (0x800C0005)
The system cannot locate the resource specified.

Ich muss aber sichergehen, dass die Seite definitiv laeuft.

Code:
' =========== RSS2HTML.ASP for ASP/ASP.NET ==========
 ' copyright 2005 (c) www.Bytescout.com
 ' ===============================================
 
 ' =========== configuration =====================
 ' ##### URL to RSS Feed to display #########
 URLToRSS = "http://rssnewsapps.ziffdavis.com/tech.xml"
 
 ' ##### max number of displayed items #####
 MaxNumberOfItems = 7
 
 ' ##### Main template constants
 MainTemplateHeader = "<table>"
 MainTemplateFooter = "</table>"
 ' ##### 
 
 ' ##### Item template.
 ' ##### {LINK} will be replaced with item link
 ' ##### {TITLE} will be replaced with item title
 ' ##### {DESCRIPTION} will be replaced with item description
 ItemTemplate = "<tr><td><a href=" & """{LINK}""" & ">{TITLE}</a><BR>{DESCRIPTION}</td></tr>"
 
 ' ##### Error message that will be displayed if not items etc
 ErrorMessage = "Error has occured while trying to process " &URLToRSS & "<BR>Please contact web-master"
 
 ' ================================================
 
 Set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP.3.0")
 xmlHttp.Open "Get", URLToRSS, false
 xmlHttp.Send()
 RSSXML = xmlHttp.ResponseText
 
 Set xmlDOM = Server.CreateObject("MSXML2.DomDocument.3.0")
 xmlDOM.async = false
 xmlDOM.LoadXml(RSSXML)
 
 Set xmlHttp = Nothing ' clear HTTP object
 
 Set RSSItems = xmlDOM.getElementsByTagName("item") ' collect all "items" from downloaded RSS
 Set xmlDOM = Nothing ' clear XML
 
 RSSItemsCount = RSSItems.Length-1
 
 ' writing Header
 if RSSItemsCount > 0 then 
  Response.Write MainTemplateHeader
 End If
 
 j = -1
 
 For i = 0 To RSSItemsCount
 Set RSSItem = RSSItems.Item(i)
 
  for each child in RSSItem.childNodes
   Select case lcase(child.nodeName)
     case "title"
           RSStitle = child.text
     case "link"
           RSSlink = child.text
     case "description"
           RSSdescription = child.text
   End Select
  next
 
  j = J+1
 
  if J<MaxNumberOfItems then 
  ItemContent = Replace(ItemTemplate,"{LINK}",RSSlink)
  ItemContent = Replace(ItemContent,"{TITLE}",RSSTitle)
  Response.Write Replace(ItemContent,"{DESCRIPTION}",RSSDescription)
  ItemContent = ""
  End if
 
 Next
 
 ' writing Footer
 if RSSItemsCount > 0 then 
  Response.Write MainTemplateFooter
 else 
  Response.Write ErrorMessage
 End If
 
  Response.End ' uncomment this line if you need to finalize output

%>

Weiss eigentlich jemand, wie oft die Daten ueberprueft werden? Eigentlich waere es schoen, wenn z.B. nur alle 30 min ein update stattfinden wuerde, kann man so etwas festlegen?

Ich hoffe das sich jemand damit auskennt. Vielen Dank im voraus fuer die Hilfe.

Gruss Bicko
 
Hi,

leider habe ich immer noch keine Loesung fuer mein RSS Feed gefunden. Habe das auch in einem anderen Board gepostet und folgende Antwort erhalten:

Du könntest per MSXML2.ServerXMLHTTP.4.0 Objekt auf die URL (http://rssnewsapps.ziffdavis.com/tech.xml) eine Anfrage stellen, falls du eine Antwort bekommst, dann lass den RSS Prozess laufen. Ansonsten bringe die "Fehlermeldung".

Mmh, leider habe ich nie rausgefunden, wie man eine solche Anfrage denn stellt. Ich weiss auch nicht wie ich so etwas in google findet. Hat jemand eine idee wie so etwas aussehen koennte? Bin fuer jeden Tip dankbar.

Gruss Bicko
 
Bicko hat gesagt.:
Weiss eigentlich jemand, wie oft die Daten ueberprueft werden? Eigentlich waere es schoen, wenn z.B. nur alle 30 min ein update stattfinden wuerde, kann man so etwas festlegen?

Das kann in der Regel der User in seinem Clienten (Reader, Browser...) selbst einstellen.
Gruß
 
Zurück