Possiamo realizzare un semplice feedreader per le nostre pagine web, utilizzando l'oggetto msxml2.DOMDocument.3.0
Particolarit� di questo feedreader, � che � possibile configurare un numero variabile di feeds, e per ciascun feed un numero variabile di items
Per configurarlo basta impostare la variabile "NumFeeds" al numero di feeds che si vogliono includere, e aggiungere il feed tramite questa sintassi:
ArrUrls(2) = "https://www.morpheusweb.it/morpheusweb_rss.xml"
ArrNums(2) = 4
Ecco il codice completo
<%
Dim NumFeeds
NumFeeds = 3
ReDim ArrUrls(NumFeeds)
ReDim ArrNums(NumFeeds)
ArrUrls(0) = "http://www.corriere.it/rss/homepage.xml"
ArrNums(0) = 2
ArrUrls(1) = "http://www.microsoft.com/italy/msdn/rss.xml"
ArrNums(1) = 2
ArrUrls(2) = "https://www.morpheusweb.it/morpheusweb_rss.xml"
ArrNums(2) = 4
%>
<html>
<head>
<style>
#feedStyle dl {
font-family:Verdana, Arial, Helvetica, sans-serif;
width: 280px;
margin-top: 4px;
margin-left: 0px;
padding-bottom: 8px;
border-top: 10px solid #2C6E91;
border-bottom: 1px solid #2C6E91;
background: #FFFFFF;
}
#feedStyle dl dt {
font-size: 0.8em;
font-weight: bold;
color: #E5F4FC;
text-align: left;
padding-right: 5px;
padding-left: 5px;
border-top: 1px solid #E5F4FC;
background: #93C1DB;
}
#feedStyle dl dd {
font-size: 0.8em;
color: #000;
line-height: 1em;
margin-top: 4px;
margin-left:0px;
padding-left: 5px;
}
#feedStyle dl dd a, #colMenu dl dd a:visited {
color: #2C6E91;
text-decoration: none;
}
#feedStyle dl dd a:hover, #colMenu dl dd a:active {
color: #2C6E;
text-decoration: underline;
}
</style>
</head>
<body>
<div id="feedStyle">
<%
For i = 0 to NumFeeds-1
call PrintFeed(ArrUrls(i),ArrNums(i))
Next
%>
</div>
</body>
</html>
<script language="vbscript" runat="server">
Sub PrintFeed(url,NumNews)
html = ""
Set XMLdoc = Server.CreateObject("msxml2.DOMDocument.3.0")
XMLdoc.async = false
XMLdoc.setProperty "ServerHTTPRequest", True
XMLdoc.validateOnParse =false
XMLdoc.preserveWhiteSpace = false
Loaded = XMLdoc.Load(url)
If Loaded Then
set NodesList = XMLdoc.getElementsByTagName("channel")
For Each aNode In NodesList
For Each aNode2 In aNode.childNodes
Select Case aNode2.nodeName
Case "title"
html = html & "<dt>" & aNode2.firstChild.nodevalue & "</dt>"
End Select
Next
Next
Set NodesList = XMLdoc.getElementsByTagName("item")
j = 0
For Each aNode In NodesList
j = j + 1
For Each aNode2 In aNode.childNodes
Select Case aNode2.nodeName
Case "title"
strTitle = aNode2.firstChild.nodevalue
Case "link"
strURL = aNode2.firstChild.nodevalue
End Select
Next
html = html & "<dd><a target=_blank href=" & strURL & ">" & strTitle & "</a></dd>"
strTitle = ""
strURL = ""
strDescription = ""
if (j >= NumNews) Then Exit For
Next
html = "<dl>" & html & "</dl>"
set NodesList = Nothing
End if
Response.write (html)
End Sub
</script>