codice:
<%
Response.Expires = -1
Randomize()
intUP = 199
intLow = 1
DisplayFeed("http://www.paginaweb/rss/edo.xml")
Sub DisplayFeed(sURL)
dim objXML
Set objXML = CreateObject("MSXML2.DOMDocument.4.0")
objXML.async = False
objXML.validateOnParse = false
objXML.resolveExternals = false
objXML.preserveWhiteSpace = false
objXML.setProperty "ServerHTTPRequest", True
if (objXML.Load(sURL)) then
Dim i, k, objChannel, objItemList,sChildNodeName,sChildNodeText,iTotalItems,iCount,objItem,j,sLinkTxt,sLinkURL
Set objItemList = objXML.getElementsByTagName("channel")
iTotalItems = objItemList.length - 1
If (iTotalItems < 0) Then
dim RootNamespace: RootNamespace = objXML.documentElement.namespaceURI
objXML.setProperty "SelectionNamespaces","xmlns:at='" & RootNamespace & "'"
Set objItemList = objXML.selectNodes("//at:feed")
iTotalItems = objItemList.length - 1
End If
i = 0
For iCount = 0 to iTotalItems
Set objItem = objItemList.item(iCount)
For j = 0 to objItem.childNodes.length - 1
sChildNodeName = objItem.childNodes(j).nodeName
sChildNodeText = objItem.childNodes(j).text
If (sChildNodeName = "title") Then
sLinkTxt = sChildNodeText
ElseIf (sChildNodeName = "link") Then
sLinkURL = sChildNodeText
ElseIf (sChildNodeName = "Description") Then
sDesc = sChildNodeText
ElseIf (sChildNodeName = "pubDate") Then
sDate = sChildNodeText
myDate = split (sDate , " " )
if Lcase(left(trim(MyDate(2)),3)) = "jan" then Mnth = "01"
if Lcase(left(trim(MyDate(2)),3)) = "feb" then Mnth = "02"
if Lcase(left(trim(MyDate(2)),3)) = "mar" then Mnth = "03"
if Lcase(left(trim(MyDate(2)),3)) = "apr" then Mnth = "04"
if Lcase(left(trim(MyDate(2)),3)) = "may" then Mnth = "05"
if Lcase(left(trim(MyDate(2)),3)) = "jun" then Mnth = "06"
if Lcase(left(trim(MyDate(2)),3)) = "jul" then Mnth = "07"
if Lcase(left(trim(MyDate(2)),3)) = "aug" then Mnth = "08"
if Lcase(left(trim(MyDate(2)),3)) = "sep" then Mnth = "09"
if Lcase(left(trim(MyDate(2)),3)) = "oct" then Mnth = "10"
if Lcase(left(trim(MyDate(2)),3)) = "nov" then Mnth = "11"
if Lcase(left(trim(MyDate(2)),3)) = "dec" then Mnth = "12"
DataFinale = MyDate(3) & "-" & Mnth & "-" & MyDate(1)
End If
Next
response.write "" & sLinkTxt & "" & vbCrLf
Next
Set objItemList = nothing
Set objItem = nothing
Set objItemList = objXML.getElementsByTagName("item")
iTotalItems = objItemList.length - 1
If (iTotalItems < 0) Then
Set objItemList = objXML.getElementsByTagName("entry")
iTotalItems = objItemList.length - 1
end if
If (iTotalItems < 0) Then
RootNamespace = objXML.documentElement.namespaceURI
objXML.setProperty "SelectionNamespaces","xmlns:at='" & RootNamespace & "'"
Set objItemList = objXML.selectNodes("//at:feed")
iTotalItems = objItemList.length - 1
End If
i = 0
For iCount = 0 to iTotalItems
Set objItem = objItemList.item(iCount)
For j = 0 to objItem.childNodes.length - 1
sChildNodeName = objItem.childNodes(j).nodeName
sChildNodeText = objItem.childNodes(j).text
If (sChildNodeName = "title") Then
sLinkTxt = sChildNodeText
ElseIf (sChildNodeName = "link") Then
sLinkURL = sChildNodeText
ElseIf (sChildNodeName = "description") Then
sDesc = sChildNodeText
ElseIf (sChildNodeName = "pubDate") Then
sDate = sChildNodeText
myDate = split (sDate, " " )
if Lcase(left(trim(MyDate(2)),3)) = "jan" then Mnth = "01"
if Lcase(left(trim(MyDate(2)),3)) = "feb" then Mnth = "02"
if Lcase(left(trim(MyDate(2)),3)) = "mar" then Mnth = "03"
if Lcase(left(trim(MyDate(2)),3)) = "apr" then Mnth = "04"
if Lcase(left(trim(MyDate(2)),3)) = "may" then Mnth = "05"
if Lcase(left(trim(MyDate(2)),3)) = "jun" then Mnth = "06"
if Lcase(left(trim(MyDate(2)),3)) = "jul" then Mnth = "07"
if Lcase(left(trim(MyDate(2)),3)) = "aug" then Mnth = "08"
if Lcase(left(trim(MyDate(2)),3)) = "sep" then Mnth = "09"
if Lcase(left(trim(MyDate(2)),3)) = "oct" then Mnth = "10"
if Lcase(left(trim(MyDate(2)),3)) = "nov" then Mnth = "11"
if Lcase(left(trim(MyDate(2)),3)) = "dec" then Mnth = "12"
DataFinale = MyDate(3) & "-" & Mnth & "-" & MyDate(1)
End If
Next
response.write sDesc & " --- " & sDate & " ---"& replace(sLinkTxt,"&","&") & "
" & vbCrLf
intRange = intUp - intLow
intRandom = CInt ((intRange * Rnd()) + intLow)
intRange2 = intUp + intLow
intRandom2 = CInt ((intRange * Rnd()) - intLow)
strSQL = "INSERT INTO TBL"
...
objconn.execute strSQL
response.write strSQL & "
"
response.flush()
i = i + 1
Next
else
response.write("Error code:" & objXML.parseError.errorCode & "
")
response.write("Error reason:" & objXML.parseError.reason & "
")
end If
set objItemList = nothing
set objXML = nothing
end sub
%>