Endast rubrikerna skall synas, de skall separeras med ett |. De skall givetvis vara länkar.
Exempel:
- <item>
<title>Jarnheimer köper i Spanien</title>
<link>[url]http://di.se/Avdelningar/Artikel.aspx?O=RSS&ArticleId=2005%5c07%5c14%5c150255[/url]</link>
<description>Tele2 fortsätter att köpa bolag på kontinenten. Stenbecksbolaget betalar 2,4 miljarder kronor för den spanska operatören Comunitel. Bolaget har fokus på företagsmarknaden, men Tele2:s VD Lars-Johan Jarnheimer vill med köpet bli de spanska konsumenternas förstahandsval för bredband.</description>
</item>
Borde alltså bli:
<a href="http://di.se/Avdelningar/Artikel.aspx?O=RSS&ArticleId=2005%5c07%5c14%5c150255" target="_blank">Jarnheimer köper i Spanien</a> |
Hade redan en väldigt lik funktion :) En hel del kod kommer från en annan dansk sida som jag visst inte sparat adressen till. Aja, här kommer hela sidan:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
' O==========================================================O
' Skapar en rss-läsare för att hämta RSS-nyheter
' O==========================================================O
'----- Adressen på det RSS-dokumentet som ska laddas
extURL = "http://ditrader.di.se/News/rss.aspx"
'----- RSS-dokumentet laddas
Set xmlDoc = CreateObject("Msxml.DOMDocument")
xmlDoc.async = false
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load(extURL)
'----- Kollar att RSS-dokumentet laddas korrekt
If (xmlDoc.parseError.errorCode <> 0) Then
'----- Skriver ut eventuella fel
Response.Write "XML error: " & xmlDoc.parseError.reason
Else
'----- Fortsätt då allt är okej
'----- Öppnar elementet <channel>
Set channelNodes = xmlDoc.selectNodes("//channel/*")
'----- Hämtar information om kanalen
For Each entry In channelNodes
'----- De tre obligatoriska elementen i channel läggs i variablar
If entry.tagName = "title" Then
strChannelTitle = entry.text
ElseIf entry.tagName = "description" Then
strChannelDescription = entry.text
ElseIf entry.tagName = "link" Then
strChannelLink = entry.text
End If
Next
'----- Öppnar elementet <item>
Set itemNodes = xmlDoc.selectNodes("//item/*")
For Each Item In itemNodes
'----- Elementerne i channel lægges i variable med #%# som adskillelse
If Item.tagName = "title" Then
strItemTitle = strItemTitle & Item.text & "#%#"
ElseIf Item.tagName = "link" Then
strItemLink = strItemLink & Item.text & "#%#"
ElseIf Item.tagName = "description" Then
strItemDescription = strItemDescription & Item.text & "#%#"
End If
Next
'----- Elementen i channel splittras i arrayer
strItemTitle = Split(strItemTitle,"#%#")
strItemLink = Split(strItemLink,"#%#")
strItemDescription = Split(strItemDescription,"#%#")
intNews = UBound(strItemTitle)
End If
'----- Vi avslutar arbetet med RSS läsaren
Set channelNodes = Nothing
Set itemNodes = Nothing
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>RSS-Läsare</title>
</head>
<body>
<p><b>Antal nyheter:</b> <%=intNews%></p>
<p><%
For i = 1 To intNews
Response.Write("" & "<a href=""" & strItemLink(i) & """ target=""_blank"">" & strItemTitle(i) & "</a> | " & vbCrLf)
Next
%></p>
</body>
</html>
Class rss_feed
Private url
Public Property Let rss_url(letUrl)
url = letUrl
End Property
public sub showfeed
Dim xml, chNodes, strChTitle, strChLink, strChDesc, itNodes, item, strItemTitle, strItemLink, strItemDesc, arrItemTitle, arrItemLink, arrItemDesc, a
set xml = createObject("Msxml.DOMDocument")
xml.async = false
xml.setProperty "ServerHTTPRequest", true
xml.load(url)
If (xml.parseError.errorCode <> 0) then
Response.Write "XML error: " & xml.parseError.reason
Else
set chNodes = xml.selectNodes("//channel/*")
for each item in chNodes
Select Case item.tagName
Case "title" : strChTitle = item.text
Case "link" : strChLink = item.text
Case "description" : strChDesc = item.text
End Select
next
response.write "<h2>Nyheter ifrån " & strChTitle & "</h2>"
response.write "<p>" & strChDesc & "</p>"
response.write "<p><a href=""" & strChLink & """ target=""_blank"">Gå direkt till " & strChTitle & "</a></p>"
set itNodes = xml.selectNodes("//item/*")
For each item in itNodes
Select Case item.tagName
Case "title" : strItemTitle = strItemTitle & item.text & "~"
Case "link","guid" : strItemLink = strItemLink & item.text & "~"
Case "description" : strItemDesc = strItemDesc & item.text & "~"
End Select
next
arrItemTitle = split(strItemTitle,"~")
arrItemLink = split(strItemLink,"~")
arrItemDesc = split(strItemDesc,"~")
response.write "<ul>"
for a = 0 to UBound(arrItemTitle) - 1
response.write "<li>"
response.write "<a href=""" & arrItemLink(a) & """ target=""_blank"">" & arrItemTitle(a) & "</a>"
if strItemDesc <> "" then response.write "<br />" & arrItemDesc(a)
response.write "</li>"
next
response.write "</ul>"
set chNodes = nothing : set itNodes = nothing
End If
End Sub
End Class
Dim i
set i = new rss_feed
i.rss_url = "http://ditrader.di.se/News/rss.aspx"
i.showfeed()
Set i = Nothing