Hejsan!
Skickade ett mejl till Expressen och frågade var de erbjöd för tjänster när de gäller att ha deras nyheter på ens egna sida. Fick detta svaret:
"Hej!
Det går jättebra. Vi erbjuder våra nyhetsrubriker i XML-format.
<%
Set XMLDoc = CreateObject("MSXML2.DOMDocument")
XMLDoc.setProperty "ServerHTTPRequest", true
XMLDoc.async=false
XMLDoc.Load "http://expressen.se/expressen/jsp/xml.jsp?page=10"
If XMLDoc.parseError.errorCode = 0 Then
%>
<b>Rubriker:</b><p>
<%
Set nodeLst = XMLDoc.getElementsByTagName("headline")
For i = 0 To nodeLst.length - 1
response.write nodeLst.Item(i).text & "<br>"
next
else
Response.write XMLDoc.parseError.reason
End If
%>
Ah, kan man läsa in ett XML-dokument så, direkt till DOMDocument?
Ja, XMLHTTP/ServerXMLHTTP är ju egentligen rena HTTP-komponenter utan XML-funktioner (med väldigt missvisande namn). Så länge man klarar sig med GET (i motsats till POST) så ska man undvika att blanda in dem. :)
<%
Set XMLDoc = CreateObject("MSXML2.DOMDocument")
XMLDoc.setProperty "ServerHTTPRequest", true
XMLDoc.async=false
XMLDoc.Load "http://www.dn.se/DNet/jsp/polopoly.jsp?d=1399"
If XMLDoc.parseError.errorCode = 0 Then
%>
<b>Rubriker:</b><p>
<%
Set nyheter = XMLDoc.getElementsByTagName("item")
Set nodeLst = XMLDoc.getElementsByTagName("title")
Set desc = XMLDoc.getElementsByTagName("description")
For each item in nyheter
response.write "<b>"&nodeLst.Item(i).text & "</b><br>"
response.write desc.Item(i).text & "<br><br>"
Next
else
Response.write XMLDoc.parseError.reason
End If
%>
om jag skriver for I = to 5 step 1 istället för each item in nyheter så fungerar det men då skrivs dagens nyheter ut två gånger på rubriken.
Hur gör man för att bara söka i visa element som exempelvis item? Nån bra sida att titta på för detta?
Hur gör man för att även få med länken till nyheterna i loopen?
Set XMLDoc = CreateObject("MSXML2.DOMDocument")
XMLDoc.setProperty "ServerHTTPRequest", true
XMLDoc.async=false
XMLDoc.Load "http://expressen.se/rss/nyheter"
If XMLDoc.parseError.errorCode = 0 Then
Set nodeLst = XMLDoc.getElementsByTagName("title")
For i = 0 To nodeLst.length - 1
response.write i &" - "& nodeLst.Item(i).text & "<br />"
next
Else
Response.write XMLDoc.parseError.reason
End If
Får bara felmeddelandet:
Körningsfel i Microsoft VBScript fel '800a01b6'
Objektet stöder inte egenskapen eller metoden.: 'SelectSingleNode'
Set XMLDoc = CreateObject("MSXML2.DOMDocument")
XMLDoc.setProperty "ServerHTTPRequest", true
XMLDoc.async=false
XMLDoc.Load "http://expressen.se/rss/nyheter"
If XMLDoc.parseError.errorCode = 0 Then
Set nodeLst = XMLDoc.getElementsByTagName("item")
For i = 0 To nodeLst.length - 1
response.write nodeLst.SelectSingleNode("title") & "<br />"
next
Else
Response.write XMLDoc.parseError.reason
End If