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.
Nyheter
http://expressen.se/expressen/jsp/xml.jsp?page=10
Sport
http://expressen.se/expressen/jsp/xml.jsp?page=110
Nöje
http://expressen.se/expressen/jsp/xml.jsp?page=112"
Nu e de så att jag inte fattar hur man ska göra. Nån som har någon ide?
//Henke
SPiNMedlem sedan mars 20007 896 inlägg Du måste läsa in informationen med MSXML's XMLHTTP, och antingen styla med ett XSL-dokument eller placera informationen där du vill ha den med DOM.
<%
Dim xmlHttp, xmlDoc, xmlElement 'As Objects
Dim xmlText 'As String
set xmlHttp = Server.CreateObject( "MSXML2.ServerXMLHTTP" )
xmlHttp.open "GET", "http://expressen.se/expressen/jsp/xml.jsp?page=110", False
xmlHttp.send
xmlText = xmlHttp.ResponseText
set xmlHttp = Nothing
set xmlDoc = Server.CreateObject( "MSXML2.DOMDocument40" )
xmlDoc.Async = False
xmlDoc.LoadXML xmlText
set xmlElement = xmlDoc.documentElement
osv...
Kika i MSDN och sök här i forumet för att lära dig mer, om du inte redan kan.
Skriv gärna mer, kan verkligen inget om detta...Sitter som ett STORT frågetecken! =/
//Henke
nikoMedlem sedan juni 20022 599 inlägg Enkelt exempel för att tex lista bara rubrikerna:
<%
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
%>
SPiNMedlem sedan mars 20007 896 inlägg Ah, kan man läsa in ett XML-dokument så, direkt till DOMDocument? Smidigt. :)
nikoMedlem sedan juni 20022 599 inlägg
SPiN skrev:
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. :)
Varför fungerar inte detta?
<%
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?
Bosse168Medlem sedan nov. 20031 018 inlägg Har dom bytt adress till XML-filerna eller har dom tagit bort dom helt? Någon som vet?
TravoniMedlem sedan okt. 20041 556 inlägg Bosse168Medlem sedan nov. 20031 018 inlägg Tackar, men får bara detta felmeddelandet när jag använder den nyhetslänken:
Ett ogiltigt tecken påträffades i textinnehållet.
TroxyMedlem sedan mars 20041 505 inlägg När jag öppnas Expressens RSS-feed i Firefox så visas inget innehåll.
Antaligen så är det något fel där just nu.
jarvkloMedlem sedan juli 20013 378 inlägg Expressen renoverar hela sin webbplats i realtid just nu och det är inte bara RSS-filerna som beter sig underligt till och från - just nu ser t.ex. framsidan ganska speciell ut i FireFox ;)
Kontakta dem och felanmäl det du upptäcker.
expressen.se skrev:
Vi uppskattar era felrapporter. Fortsätt skicka in alla fel ni hittar, vi tar självklart fasta på era synpunkter. Mejla till expressen@expressen.se
Bosse168Medlem sedan nov. 20031 018 inlägg 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
emissionMedlem sedan dec. 19996 721 inlägg Plocka ut "item"-elementen i stället för "title" och hämta deras "title" och "link", med SelectSingleNode.
Bosse168Medlem sedan nov. 20031 018 inlägg 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
emissionMedlem sedan dec. 19996 721 inlägg nodeLst är en lista, inte en nod.
nodeLst.Item(i).SelectSingleNode("title)" returnerar "title"-noden, om den finns, och då kan du hämta ut värdet från den.