Fick en fråga om hur man kan plocka ut 5 senaste nyheterna ur en RSS-fil och presentera dessa på en webbsida med hjälp av ASP3... istället för att jobba direkt med stränghantering så är det ju lättare att jobba med riktiga xml verktyg. tex SAX eller DOM. Eller kanske enklare är att göra en XSLT transformering. <b>istället för att jobba direkt med stränghantering så är det ju lättare att jobba med riktiga xml verktyg. tex SAX eller DOM.</b> <b> <b>när du väljer ut dina noder att processa gör du en lämplig XPath "fråga", t.ex. fem första <item> ur ett rss flöde borde fungera med /rss/channel/item[position() < 6]</b>Konvertering + Urval: XML(RSS) -> ASP -> HTML
Min lösning ser nu ut så här ungefär...
Function bin2str(b)
Dim i,s
For i = 1 To LenB(b)
s = s & Chr(AscB(MidB(b, i, 1)))
Next
bin2str = s
End Function
Dim xml, news, start, slut, i, j
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET", "http://url.com/fil.rss", False
xml.Send
news = bin2str(xml.responsebody)
Set xml = Nothing
start = inStr(news,"<item>")
slut = inStrRev(news,"</item>") + 7
news = Trim(mid(news,start,slut-start))
news = Replace(news,"<item>","")
news = Replace(news,vbTab,"")
news = Replace(news,vbLf,"")
news = Split(news,"</item>")
j = uBound(news)
If j>4 Then j=4 ' Bara max de 5 senaste nyheterna
For i = 0 to j
' Gör nåt med varje element, t ex:
' Byt ut title> mot h1>
' Byt ut <link> mot läs mer...
' Byt ut description> mot p>
'
' Skriv ut
Next
Men... för att använda ett välkänt citat: "Gösta... det måste finnas något enklare sätt..."
...eller..?
Sv: Konvertering + Urval: XML(RSS) -> ASP -> HTML
Sv: Konvertering + Urval: XML(RSS) -> ASP -> HTML
Visst... Kan du visa ett exempel? (ASP3, VBScript)
<b>Eller kanske enklare är att göra en XSLT transformering.</b>
Vid XSLT transformering transformeras väl hela XML-filen? Om man bara vill göra ett urval, som i exemplet 5 nyheter från en RSS innehållande x antal nyheter... hur gör man då?Sv: Konvertering + Urval: XML(RSS) -> ASP -> HTML
Vid XSLT transformering transformeras väl hela XML-filen? Om man bara vill göra ett urval, som i exemplet 5 nyheter från en RSS innehållande x antal nyheter... hur gör man då?</b>
när du väljer ut dina noder att processa gör du en lämplig XPath "fråga", t.ex. fem första <item> ur ett rss flöde borde fungera med /rss/channel/item[position() < 6]
dvs, istället för
<xsl:apply-templates />
gör du:
<xslt:apply-templates select="/rss/channel/item[position() < 6]" />
Sv: Konvertering + Urval: XML(RSS) -> ASP -> HTML
ahhh... smart... Jag ska testa...
Tack för hjälpen!