---
title: "XMLHTTP"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/91514-xmlhttp"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Asa"
published: "2003-11-28T22:08:57.000Z"
updated: "2003-12-06T14:39:02.000Z"
replies: 20
views: 504
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/91514-xmlhttp"
---

# XMLHTTP

_Sida 1 av 2._

## #1 — Asa, 2003-11-28T22:08Z

Håller på å försöker få till med denna kod att visa tid och nyhetsrubriker från Expressen.
<http://www.expressen.se/expressen/jsp/polopoly.jsp?d=10&a=633>

Men koden skriver bara ut första nyheten. Varför? Nån som vet?

```
<%Function getNews(n)
  sFind = "<span class=""Verdana10"">"
  eFind = "<br>"

  Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
  objHTTP.Open "GET", "http://www.expressen.se/expressen/jsp/polopoly.jsp?d=10&a=633", False
  objHTTP.Send
      str = objHTTP.responseText
  Set objHTTP = Nothing

  str = Right(str,Len(str)-InStr(str,sFind)+1)
  str = Left(str,InStr(str,"</span>")-1)

  i=0
  Do Until i = n OR InStr(str,sFind) < 1
    spos = InStr(str,sFind)
    rstr = Right(str,Len(str)-spos+1)
    epos = InStr(rstr,eFind)-1

    substr = Mid(str,spos,epos)
    substr = Replace(substr,"<a href="""," | <a class=""vit"" target=""_blank"" href=""http://www.expressen.se")
    If i = 0 Then
      myStr  = myStr & substr
    Else
      myStr  = myStr & "<br>" & substr
    End If

    str = Right(str,Len(str)-spos-Len(substr)+1)
  i=i+1
  Loop
  getNews = myStr
End Function%>

<%=getNews(5)%>
```

Permalänk: https://www.webforum.nu/p/91514

## #2 — tydal, 2003-11-28T22:32Z

När programmet inte gör som man tycker det borde är det bara att sätta sig ner och börja debugga...

Du säger att du bara får ut första nyheten. Kan det vara loopen som strular? Skriv ut variabeln i efter att loopen har kört klart så ser du hur många gånger den har snurrat!

Har den bara snurrat en gång, ja då är det nåt galet med loopvillkoret, annars är det nåt annat (hur du returnerar svaret förmodligen).

Om loopen körs så många gånger som den ska skulle jag rekommendera att du tittar närmare på str, substr och myStr och skriver ut dessa på varje varv.

Är det något fel på loopvillkoret så skriv ut vad variablerna har för värde så du kan se varför det tar slut. Isolera loopvillkoren så du bara kör ett åt gången för att se vilket som spricker...

Tja, det är egentligen bara att köra på, och testa och testa, om och om igen, tills man ser vad det är man har missat, för kom ihåg: Datorn gör faktiskt det du säger åt den. Varken mer eller mindre.

Permalänk: https://www.webforum.nu/p/1215377

## #3 — Asa, 2003-11-28T22:34Z

Håller ju på me det. Är ej jag som gjort koden så jag är inte nå inföstådd i detta.

Permalänk: https://www.webforum.nu/p/1215378

## #4 — Jojoxx, 2003-11-28T22:41Z

Du kan banta ner det lite så här:

```
<%Function getNews(n)
	sFind = "<span class=""Verdana10"">"
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.expressen.se/expressen/jsp/polopoly.jsp?d=10&a=633", False
	objHTTP.Send
	str = objHTTP.responseText
	Set objHTTP = Nothing
	str = Right(str,Len(str)-InStr(str,sFind)+1-len(sFind))
	str = Left(str,InStr(str,"</span>")-1)
	a=split(str,"<br>")
	for i = 0 to Ubound(a)
		if i = n then
			exit for
		end if
		myStr=myStr+a(i)+"<br>"
	next
	getNews = myStr
End Function%>

<%=getNews(5)%>
```

Permalänk: https://www.webforum.nu/p/1215379

## #5 — Asa, 2003-11-28T22:44Z

Ahh, funkar prima. Du kan sånt här eller? Tackar :) SKa se om jag kan få in så man får länkarna i vitt och target=\_blank och <https://www.expressen.se> först i länkarna. Tror ej jag kan det... men kolla ska jag.

Permalänk: https://www.webforum.nu/p/1215380

## #6 — tydal, 2003-11-28T22:48Z

\> Är ej jag som gjort koden så jag är inte nå inföstådd
\> i detta.

Aj då, sånt brukar krångla till det. Jag tycker koden ser onödigt omständligt ut. Jag vet inte om det är VBScript som sätter gränserna, men det känns som att det borde vara enklare...

Hmm... \*startar klockan\*

```
<?php
  $arr = file("http://www.expressen.se/expressen/jsp/polopoly.jsp?d=10&a=633");
  for ($i = 0; strstr($arr[$i], '<span class="Verdana10">') === false; $i++);
  $arr[$i] = substr($arr[$i], 24);
  for (; $arr[$i] != "</span>\n"; $i++)
    echo(str_replace('"/', '"http://www.expressen.se/', $arr[$i]));
?>
```

Tog typ sju minuter att skriva ihop. Resultatet finns på:
<http://www.tydal.nu/expressen.php>

Permalänk: https://www.webforum.nu/p/1215381

## #7 — Asa, 2003-11-28T22:54Z

Mmm, så därför ber man om hjälp här! Fast php är det ju inte jag bygger med. Är ju asp men kanske kan ändra till php.

Permalänk: https://www.webforum.nu/p/1215382

## #8 — tydal, 2003-11-28T22:54Z

Jag ser i koden du fick ovan att funktionen split finns i VBScript. Den är precis vad du behöver i såna här fall, för den delar upp en stor textmassa i mindre deler, så att du inte behöver hoppa runt en massa som i den första koden du hade. Med split så får du en sådan uppdelning att loopen får en rad åt gången, och då är det ju mycket lättare att plocka ut det man vill ha.

a = split(str, "\<br\>")

innebär alltså att strängen delas vid varje "\<br\>" (och att \<br\> därmed försvinner). Resultatet blir en array.

Permalänk: https://www.webforum.nu/p/1215384

## #9 — Asa, 2003-11-28T22:58Z

Okej, men nu ska man få in sålänkarna blir vita och öppnas i nytt fönster och länkar till <http://www.expressen.se.>

Tid å hjälpa?

Permalänk: https://www.webforum.nu/p/1215386

## #10 — tydal, 2003-11-28T22:58Z

Jag började med asp, men tyckte det var så bökigt att när jag hörde talas om php så beslöt jag mig för att testa det och det är inget jag ångrar. Php är väldigt smidigt och det är lätt att göra det man vill. Fast att jag uppfattar det som ett väldigt uttrycksfullt och användbart språk kan ju ha att göra med att jag är programmerare och van att snacka med datorer. Jag har ju hört att "vanligt" folk tycker asp är enkelt.

Permalänk: https://www.webforum.nu/p/1215387

## #11 — Asa, 2003-11-28T22:59Z

Har börjat kolla lite på php men det går sakta framåt!

Permalänk: https://www.webforum.nu/p/1215388

## #12 — tydal, 2003-11-28T23:00Z

Där borde du nog kunna använda delar av den kod du hade först. Stoppa in den här raden:

a(i) = Replace(a(i),"\<a href="""," \| \<a class=""vit"" target=""\_blank"" href=""http://www.expressen.se")

före raden:

myStr=myStr+a(i)+"\<br\>"

Permalänk: https://www.webforum.nu/p/1215389

## #13 — Asa, 2003-11-28T23:02Z

Funkar precis som jag ville ha det. Vad tur att det finns mycket duktiga personer här på webForum. Supertack :)

Permalänk: https://www.webforum.nu/p/1215392

## #14 — tydal, 2003-11-28T23:06Z

Lugnt. Hojta gärna till nån gång på ICQ eller nåt om du känner för att lära dig lite mer php. Jag jobbar med utbildning.

Permalänk: https://www.webforum.nu/p/1215395

## #15 — Asa, 2003-11-28T23:08Z

Okej, det ska jag göra. Tackar snälla du att du är så hjälpsam!

Permalänk: https://www.webforum.nu/p/1215396

## #16 — Jojoxx, 2003-11-29T14:09Z

Själv gillar jag Perl, men jag ser det inte som en livsuppgift att omvända mina medmänniskor att använda det :) PHP, ASP, Perl osv, alla har sina fördelar. Jag använder dem alla, kanske inte så mycket PHP men det är mer en gammal vana. Ibland har man ju själv inte heller möjligheten att påverka miljön man arbetar i.

Men för att komma till punkt, med logiskt tänkande och lite programmeringsvana spelar inte språket så stor roll. Kör det som känns bäst, huvudsaken att det går framåt och att man drar nytta av erfarenheten.

Permalänk: https://www.webforum.nu/p/1215517

## #17 — medialabs, 2003-12-05T14:14Z

Jag skulle vilja presentera Aftonbladets och Dn.se nyheter, ni råkar inte har några scriptexempel på det? Skulle behövas..

Permalänk: https://www.webforum.nu/p/1221041

## #18 — Asa, 2003-12-05T15:34Z

Jag gjorde så här:

```
<%Function Aftonbladet(n)
	sFind = "<br clear=""all"">"
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.aftonbladet.se/vss/telegram/0,1082,_852__o,00.html", False
	objHTTP.Send
	str = objHTTP.responseText
	Set objHTTP = Nothing
	str = Right(str,Len(str)-InStr(str,sFind)+1-len(sFind))
	str = Left(str,InStr(str,"<div align=""right"">")-1)
	a=split(str,"<br>")
	for i = 0 to Ubound(a)
		if i = n then
			exit for
		end if
                a(i) = Replace(a(i),"Alla nyheter på en sida","")
                a(i) = Replace(a(i),"<table width=""375"" cellpadding=""0"" cellspacing=""0"" border=""0"">","")
                a(i) = Replace(a(i),"<tr>","")
                a(i) = Replace(a(i),"<td bgcolor=""#000000"" ><font class=""vitfet"">&nbsp;sverige</font></td>","")
                a(i) = Replace(a(i),"</tr>","")
                a(i) = Replace(a(i),"<tr>","")
                a(i) = Replace(a(i),"<td height=""5""><img src=""/vinj/bas/trans1x1.gif"" width=""1"" height=""1"" alt="""" border=""0""></td>","")
                a(i) = Replace(a(i),"</tr>","")
                a(i) = Replace(a(i),"</table>","")
                a(i) = Replace(a(i),"<img src=""/vinj/bas/pil.gif"" width=""7"" height=""9"" border=""0"">","")
                a(i) = Replace(a(i),"<a href=""","<a class=""vit"" target=""_blank"" href=""http://www.aftonbladet.se")
  	        myStr=myStr+a(i)+"<br>"
	next
	Aftonbladet = myStr
End Function

Function DN(n)
	sFind = "<!-- SORTERING STOP -->"
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.dn.se/DNet/jsp/polopoly.jsp?d=591&dnIdShuttle=592", False
	objHTTP.Send
	str = objHTTP.responseText
	Set objHTTP = Nothing
	str = Right(str,Len(str)-InStr(str,sFind)+1-len(sFind))
	str = Left(str,InStr(str,"<!-- dv:")-1)
	a=split(str,"<br>")
	for i = 0 to Ubound(a)
		if i = n then
			exit for
		end if
                a(i) = Replace(a(i),"<font color=""#B7002E"">","<font color=""#ffffff""><b>")
                a(i) = Replace(a(i),"bgcolor=""#CC0033""","")
                a(i) = Replace(a(i),"<td width=""10"">&#149;&nbsp;</td>","")
                a(i) = Replace(a(i),"<a target=""_top"" href=""","<a class=""vit"" target=""_blank"" href=""http://www.dn.se")
  	        myStr=myStr+a(i)+"<br>"
	next
	DN = myStr
End Function%>

<%=Aftonbladet(100)%>
<br>
<%=DN(100)%>
```

100 är antal nyheter som ska visas.

Permalänk: https://www.webforum.nu/p/1221094

## #19 — medialabs, 2003-12-06T02:13Z

Tack Åsa :)

Permalänk: https://www.webforum.nu/p/1221396

## #20 — RGB, 2003-12-06T14:29Z

Tänkte bara upplysa om att DN rubrikerna finns tillgängliga i RSS-format; <http://www.dn.se/DNet/jsp/polopoly.jsp?d=602&a=89777>

Permalänk: https://www.webforum.nu/p/1221563

---

Tråden på webben: https://www.webforum.nu/amne/asp/91514-xmlhttp  
Nästa sida: https://www.webforum.nu/amne/asp/91514-xmlhttp/page2.md
