Avatar billede minus Nybegynder
10. marts 2005 - 17:31 Der er 26 kommentarer og
2 løsninger

for mange overskrifter - skal formindskes til 5

hej.

jeg fandt dette rss-script på html.dk (har ændret en smule i den)

men kan nogen fortælle mig, hvordan jeg gør, så den viser de 5 nyeste kun.

---------------------------------------

<html>

<body topmargin="0" leftmargin="0">

        <table border="0" width="100%" id="table23" cellspacing="0" cellpadding="0">
            <tr>
        <td width="18%" valign="top" style="border-left:1px solid #C0C0C0; border-right:1px solid #C0C0C0; border-bottom:1px solid #C0C0C0; border-top:3px solid #CC9900; ">
        <table border="0" width="100%" id="table24" cellpadding="0">
            <tr>
                <td width="1%">&nbsp;</td>
                <td width="99%"><font face="Verdana" size="1">
               
                <%
' ****************************************************************
' Dette script kan benyttes gratis, frit, og uden at indhente tilladelse først
' - dog må selve kildekoden ikke distribueres på andre sites end HTML.dk
' Kontakt HTML.dk hvis du er i tvivl
' ****************************************************************

' Adressen på det RSS-feed der skal loades
extURL = "http://www.mosnews.com/export/export_20.xml"

' RSS-feedet loades
set xmlDoc = createObject("Msxml.DOMDocument")
xmlDoc.async = false
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load(extURL)

' Check at RSS-feedet er loadet korrekt
If (xmlDoc.parseError.errorCode <> 0) then
    ' Udskriv eventuelle fejl (for nem fejlretning)
    Response.Write "XML error: " & xmlDoc.parseError.reason
' Fortsæt hvis alt er ok
Else

    ' Åbn elementet <channel>
    set channelNodes = xmlDoc.selectNodes("//channel/*")

    for each entry in channelNodes
        ' De tre obligatoriske elementer i channel lægges i variable
        if entry.tagName = "title" then
            strChannelTitle = entry.text
        elseif entry.tagName = "description" then
            strChannelDescription = entry.text
        elseif entry.tagName = "link" then
            strChannelLink = entry.text
        end if
    next

    ' De tre obligatoriske elementer i channel udskrives
    response.write "<font size='3'><b>" & strChannelTitle & "</b></font>"
    response.write "<p><a href='" & strChannelLink & "' target='_blank'>Besøg " & strChannelTitle & "</a></p>"
    response.write "<hr />"

    ' Åbn elementerne <item>
    set itemNodes = xmlDoc.selectNodes("//item/*")

    For each item in itemNodes
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
        end if
    next

    ' Elementerne i channel splittes i arrays
    arrItemTitle = split(strItemTitle,"#%#")
    arrItemLink = split(strItemLink,"#%#")
    arrItemDescription = split(strItemDescription,"#%#")

    ' Elementerne i channel udskrives
    response.write "<ul>"
        for a = 0 to UBound(arrItemTitle) - 1
            response.write "<li>"
            response.write "<a href='" & arrItemLink(a) & "' target='_blank'>" & arrItemTitle(a) & "</a>"
                ' Description udskrives hvis den eksisterer
                if strItemDescription <> "" then
                    response.write "<br />" & arrItemDescription(a)
                end if
            response.write "</li>"
        next
    response.write "</ul>"

    ' Vi rydder op
    set channelNodes = nothing
    set itemNodes = nothing

End If

%> 

               
                </font></td>
            </tr>
        </table>
        </td>
            </tr>
            </table>
       
</body>

</html>
Avatar billede moejensen Nybegynder
10. marts 2005 - 21:22 #1
prøv med:

<html>

<body topmargin="0" leftmargin="0">

        <table border="0" width="100%" id="table23" cellspacing="0" cellpadding="0">
            <tr>
        <td width="18%" valign="top" style="border-left:1px solid #C0C0C0; border-right:1px solid #C0C0C0; border-bottom:1px solid #C0C0C0; border-top:3px solid #CC9900; ">
        <table border="0" width="100%" id="table24" cellpadding="0">
            <tr>
                <td width="1%">&nbsp;</td>
                <td width="99%"><font face="Verdana" size="1">
               
                <%
' ****************************************************************
' Dette script kan benyttes gratis, frit, og uden at indhente tilladelse først
' - dog må selve kildekoden ikke distribueres på andre sites end HTML.dk
' Kontakt HTML.dk hvis du er i tvivl
' ****************************************************************

' Adressen på det RSS-feed der skal loades
extURL = "http://www.mosnews.com/export/export_20.xml"

' RSS-feedet loades
set xmlDoc = createObject("Msxml.DOMDocument")
xmlDoc.async = false
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load(extURL)

' Check at RSS-feedet er loadet korrekt
If (xmlDoc.parseError.errorCode <> 0) then
    ' Udskriv eventuelle fejl (for nem fejlretning)
    Response.Write "XML error: " & xmlDoc.parseError.reason
' Fortsæt hvis alt er ok
Else

    ' Åbn elementet <channel>
    set channelNodes = xmlDoc.selectNodes("//channel/*")

    for each entry in channelNodes
        ' De tre obligatoriske elementer i channel lægges i variable
        if entry.tagName = "title" then
            strChannelTitle = entry.text
        elseif entry.tagName = "description" then
            strChannelDescription = entry.text
        elseif entry.tagName = "link" then
            strChannelLink = entry.text
        end if
    next

    ' De tre obligatoriske elementer i channel udskrives
    response.write "<font size='3'><b>" & strChannelTitle & "</b></font>"
    response.write "<p><a href='" & strChannelLink & "' target='_blank'>Besøg " & strChannelTitle & "</a></p>"
    response.write "<hr />"

    ' Åbn elementerne <item>
    set itemNodes = xmlDoc.selectNodes("//item/*")

    For i=0 to 5
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
        end if
    next

    ' Elementerne i channel splittes i arrays
    arrItemTitle = split(strItemTitle,"#%#")
    arrItemLink = split(strItemLink,"#%#")
    arrItemDescription = split(strItemDescription,"#%#")

    ' Elementerne i channel udskrives
    response.write "<ul>"
        for a = 0 to UBound(arrItemTitle) - 1
            response.write "<li>"
            response.write "<a href='" & arrItemLink(a) & "' target='_blank'>" & arrItemTitle(a) & "</a>"
                ' Description udskrives hvis den eksisterer
                if strItemDescription <> "" then
                    response.write "<br />" & arrItemDescription(a)
                end if
            response.write "</li>"
        next
    response.write "</ul>"

    ' Vi rydder op
    set channelNodes = nothing
    set itemNodes = nothing

End If

%> 

               
                </font></td>
            </tr>
        </table>
        </td>
            </tr>
            </table>
       
</body>

</html>
Avatar billede minus Nybegynder
10. marts 2005 - 21:44 #2
hmm.. den virker ikke helt :(
får denne besked:


Microsoft VBScript runtime  error '800a01a8'

Object required: ''

/rss1.asp, line 60
Avatar billede moejensen Nybegynder
11. marts 2005 - 08:02 #3
hvad står der i linie 60
Avatar billede minus Nybegynder
11. marts 2005 - 16:16 #4
elseif item.tagName = "link" then - skulle jeg mene
Avatar billede moejensen Nybegynder
11. marts 2005 - 16:41 #5
der skulle ikke være noget galt der. det må være en anden linie
Avatar billede minus Nybegynder
11. marts 2005 - 20:06 #6
if item.tagName = "title" then
- er rimelig sikker på at det er denne :)
Avatar billede moejensen Nybegynder
11. marts 2005 - 20:11 #7
så går det ikke det jeg skrev. Prøv med det her:

    For each item in itemNodes
      count = 0
        if count < 5 then
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
        end if
        count = count + 1
    End If
    next
Avatar billede minus Nybegynder
11. marts 2005 - 22:40 #8
hmm.. der er ikke ændret noget:

http://www.funsense.dk/1.asp - stadig for mange
Avatar billede moejensen Nybegynder
11. marts 2005 - 22:45 #9
jo jeg har sat en count ind
Avatar billede minus Nybegynder
11. marts 2005 - 22:56 #10
okay.. men den viser stadigvæk for mange overskrifter. den skal max være på 5 stykker :)
Avatar billede moejensen Nybegynder
11. marts 2005 - 23:03 #11
nå ja count = 0 skal uden for loopet

count = 0
For each item in itemNodes
     
        if count < 5 then
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
        end if
        count = count + 1
    End If
    next
Avatar billede minus Nybegynder
11. marts 2005 - 23:33 #12
det nærmer sig. den er på 1 overskrift nu :)
Avatar billede moejensen Nybegynder
11. marts 2005 - 23:39 #13
count = 0
For each item in itemNodes
     
        if count < 5 then
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
            count = count + 1
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
        end if
       
    End If
    next
Avatar billede minus Nybegynder
12. marts 2005 - 00:11 #14
så var den der :) jeg takker for hjælpen :D

jeg smed også 35 points ekstra oveni for din indsats ;)
Avatar billede moejensen Nybegynder
12. marts 2005 - 00:14 #15
Takker
Avatar billede minus Nybegynder
12. marts 2005 - 00:32 #16
hmm... jeg lagde lige mærke til en fejl:
den sidste "overskrift" linker til selve siden...
Avatar billede moejensen Nybegynder
12. marts 2005 - 09:11 #17
har du tjekket at den ikke gør det i RSS feedet?
Avatar billede minus Nybegynder
12. marts 2005 - 12:19 #18
ja.

altså som du kan se, hedder filen 1.asp - og den sidste linker til denne side.
Avatar billede moejensen Nybegynder
12. marts 2005 - 12:24 #19
hos mig linker den til : http://www.funsense.dk/
Avatar billede minus Nybegynder
12. marts 2005 - 14:16 #20
hmm.. :S
Avatar billede saudoo Nybegynder
12. marts 2005 - 15:21 #21
Men den skal jo linke til www.mosnews.com - noget..

Ydermere er der heller ikke beskrivelse til den sidste.. :( Håber meget du har en løsning på dette, eftersom ingen af os er bekendt med ASP, overhovedet! :P
Avatar billede moejensen Nybegynder
12. marts 2005 - 15:29 #22
prøv lige at smid hele koden igen
Avatar billede minus Nybegynder
12. marts 2005 - 20:09 #23
Her er koden, som den ser ud nu :)

---------------------------

<html>

<body topmargin="0" leftmargin="0">

        <table border="0" width="100%" id="table23" cellspacing="0" cellpadding="0">
            <tr>
        <td width="18%" valign="top" style="border-left:1px solid #C0C0C0; border-right:1px solid #C0C0C0; border-bottom:1px solid #C0C0C0; border-top:3px solid #CC9900; ">
        <table border="0" width="100%" id="table24" cellpadding="0">
            <tr>
                <td width="1%">&nbsp;</td>
                <td width="99%"><font face="Verdana" size="1">
             
                <%
' ****************************************************************
' Dette script kan benyttes gratis, frit, og uden at indhente tilladelse først
' - dog må selve kildekoden ikke distribueres på andre sites end HTML.dk
' Kontakt HTML.dk hvis du er i tvivl
' ****************************************************************

' Adressen på det RSS-feed der skal loades
extURL = "http://www.mosnews.com/export/export_20.xml"

' RSS-feedet loades
set xmlDoc = createObject("Msxml.DOMDocument")
xmlDoc.async = false
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load(extURL)

' Check at RSS-feedet er loadet korrekt
If (xmlDoc.parseError.errorCode <> 0) then
    ' Udskriv eventuelle fejl (for nem fejlretning)
    Response.Write "XML error: " & xmlDoc.parseError.reason
' Fortsæt hvis alt er ok
Else

    ' Åbn elementet <channel>
    set channelNodes = xmlDoc.selectNodes("//channel/*")

    for each entry in channelNodes
        ' De tre obligatoriske elementer i channel lægges i variable
        if entry.tagName = "title" then
            strChannelTitle = entry.text
        elseif entry.tagName = "description" then
            strChannelDescription = entry.text
        elseif entry.tagName = "link" then
            strChannelLink = entry.text
        end if
    next

    ' De tre obligatoriske elementer i channel udskrives
    response.write "<font size='3'><b>" & strChannelTitle & "</b></font>"
    response.write "<p><a href='" & strChannelLink & "' target='_blank'>Besøg " & strChannelTitle & "</a></p>"
    response.write "<hr />"

    ' Åbn elementerne <item>
    set itemNodes = xmlDoc.selectNodes("//item/*")

count = 0
For each item in itemNodes
   
        if count < 5 then
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
            count = count + 1
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
        end if
     
    End If
    next
   
    ' Elementerne i channel splittes i arrays
    arrItemTitle = split(strItemTitle,"#%#")
    arrItemLink = split(strItemLink,"#%#")
    arrItemDescription = split(strItemDescription,"#%#")

    ' Elementerne i channel udskrives
    response.write "<ul>"
        for a = 0 to UBound(arrItemTitle) - 1
            response.write "<li>"
            response.write "<a href='" & arrItemLink(a) & "' target='_blank'>" & arrItemTitle(a) & "</a>"
                ' Description udskrives hvis den eksisterer
                if strItemDescription <> "" then
                    response.write "<br />" & arrItemDescription(a)
                end if
            response.write "</li>"
        next
    response.write "</ul>"

    ' Vi rydder op
    set channelNodes = nothing
    set itemNodes = nothing

End If

%>

             
                </font></td>
            </tr>
        </table>
        </td>
            </tr>
            </table>
     
</body>

</html>
Avatar billede moejensen Nybegynder
12. marts 2005 - 20:31 #24
så fandt jeg ud af det. Flyt count = count + 1 ned under  strItemDescription = strItemDescription & item.text & "#%#"

sådan her:

<html>

<body topmargin="0" leftmargin="0">

        <table border="0" width="100%" id="table23" cellspacing="0" cellpadding="0">
            <tr>
        <td width="18%" valign="top" style="border-left:1px solid #C0C0C0; border-right:1px solid #C0C0C0; border-bottom:1px solid #C0C0C0; border-top:3px solid #CC9900; ">
        <table border="0" width="100%" id="table24" cellpadding="0">
            <tr>
                <td width="1%">&nbsp;</td>
                <td width="99%"><font face="Verdana" size="1">
             
                <%
' ****************************************************************
' Dette script kan benyttes gratis, frit, og uden at indhente tilladelse først
' - dog må selve kildekoden ikke distribueres på andre sites end HTML.dk
' Kontakt HTML.dk hvis du er i tvivl
' ****************************************************************

' Adressen på det RSS-feed der skal loades
extURL = "http://www.mosnews.com/export/export_20.xml"

' RSS-feedet loades
set xmlDoc = createObject("Msxml.DOMDocument")
xmlDoc.async = false
xmlDoc.setProperty "ServerHTTPRequest", true
xmlDoc.load(extURL)

' Check at RSS-feedet er loadet korrekt
If (xmlDoc.parseError.errorCode <> 0) then
    ' Udskriv eventuelle fejl (for nem fejlretning)
    Response.Write "XML error: " & xmlDoc.parseError.reason
' Fortsæt hvis alt er ok
Else

    ' Åbn elementet <channel>
    set channelNodes = xmlDoc.selectNodes("//channel/*")

    for each entry in channelNodes
        ' De tre obligatoriske elementer i channel lægges i variable
        if entry.tagName = "title" then
            strChannelTitle = entry.text
        elseif entry.tagName = "description" then
            strChannelDescription = entry.text
        elseif entry.tagName = "link" then
            strChannelLink = entry.text
        end if
    next

    ' De tre obligatoriske elementer i channel udskrives
    response.write "<font size='3'><b>" & strChannelTitle & "</b></font>"
    response.write "<p><a href='" & strChannelLink & "' target='_blank'>Besøg " & strChannelTitle & "</a></p>"
    response.write "<hr />"

    ' Åbn elementerne <item>
    set itemNodes = xmlDoc.selectNodes("//item/*")

count = 0
For each item in itemNodes
   
        if count < 5 then
        ' Elementerne i channel lægges i variable med #%# som adskillelse
        if item.tagName = "title" then
            strItemTitle = strItemTitle & item.text & "#%#"
        elseif item.tagName = "link" then
            strItemLink = strItemLink & item.text & "#%#"
        elseif item.tagName = "description" then
            strItemDescription = strItemDescription & item.text & "#%#"
            count = count + 1
        end if
     
    End If
    next
    response.write strItemDescription
    ' Elementerne i channel splittes i arrays
    arrItemTitle = split(strItemTitle,"#%#")
    arrItemLink = split(strItemLink,"#%#")
    arrItemDescription = split(strItemDescription,"#%#")

    ' Elementerne i channel udskrives
    response.write "<ul>"
        for a = 0 to UBound(arrItemTitle) - 1
            response.write "<li>"
            response.write "<a href='" & arrItemLink(a) & "' target='_blank'>" & arrItemTitle(a) & "</a>"
                ' Description udskrives hvis den eksisterer
                if strItemDescription <> "" then
                    response.write "<br />" & arrItemDescription(a)
                end if
            response.write "</li>"
        next
    response.write "</ul>"

    ' Vi rydder op
    set channelNodes = nothing
    set itemNodes = nothing

End If

%>

             
                </font></td>
            </tr>
        </table>
        </td>
            </tr>
            </table>
     
</body>

</html>
Avatar billede minus Nybegynder
13. marts 2005 - 01:57 #25
hmm..
nu laver den en fejl i toppen ved at vise indholdet for det nyeste overskrift - ovenover overskriften :S
Avatar billede minus Nybegynder
13. marts 2005 - 01:57 #26
Avatar billede moejensen Nybegynder
13. marts 2005 - 09:31 #27
det er fordi jeg lige havde en testlinie inde, den skal i bare fjerne

response.write strItemDescription
Avatar billede minus Nybegynder
13. marts 2005 - 14:02 #28
så er den der :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester