Avatar billede cotus Nybegynder
17. juli 2010 - 12:29 Der er 2 kommentarer og
1 løsning

ASP/RSS feed: Hente enclosure tag og billede fra description

Jeg har et RSS feed i en xml fil, hvori der ligger et link til et billede i hver post, i et tag der ser således ud:

<enclosure url="blablalbla.jpeg" length="xx" type="image/jpeg" />

Hvordan får jeg dette tag hentet ud i min læsning af RSS feedet?

Ydermere har jeg et billede liggende inden i descriptiontagget, som jeg gerne vil kunne have ud, så jeg selv kan bestemme placeringen. Et descriptiontag ser fx således ud:

<description><![CDATA[<p><img src="0fae956e16a24059dd8e3887.jpeg" width="105" height="150" alt="1.JPG"  /></p>
<p>Bla bla bla bla<br />
<br />

Min reader ser således ud:

<!-- BLOG START -->
                                <%
                                TheFeed = "rss.xml"

                                Set objXML = Server.CreateObject("Microsoft.XMLDOM")

                                objXML.Async = False
                                objXML.SetProperty "ServerHTTPRequest", True
                                objXML.ResolveExternals = True
                                objXML.ValidateOnParse = True
                                objXML.Load(TheFeed)
                               
                                CellCount = 0
                               
                                If (objXML.parseError.errorCode = 0) Then
                                  Set objRoot = objXML.documentElement
                               
                                  If IsObject(objRoot) = False Then
                               
                                    Response.Write "There was an error retrieving the news feed"
                               
                                  Else
                               
                                    Set objItems = objRoot.getElementsByTagName("item")
                               
                                        If IsObject(objItems) = True Then
                               
                                          For Each objItem in objItems
                               
                                              On Error Resume Next
                               
                                              TheTitle =  objItem.selectSingleNode("title").Text
                               
                                              TheLink =  objItem.selectSingleNode("link").Text
                               
                                              TheDesc =  objItem.selectSingleNode("description").Text
                               
                                              TheDate =  objItem.selectSingleNode("pubDate").Text
                                                                             
                                              Response.Write "<span class='blogh'><b>" & TheTitle & "</b></span>" & _
                                             
                                                              "<br><span class='blogc'><i>Den "
                                             
                                                Response.Write FormatDateTime(Now, vbLongDate) & _
                                             
                                                              " kl. "
                                             
                                              Response.Write FormatDateTime(Now, vbShortTime) & _
                               
                                                            "</i></span><br /><span class='blogc'>"
                               
                                              Response.Write TheDesc & _
                               
                                                            "</span><hr size='1' color='#d7d7d7' width='100%'>"

                                          Next
                               
                                        End If
                               
                                    Set objItems = Nothing
                               
                                  End If
                               
                                Else
                               
                                  Response.Write "Der opstod en fejl i læsning af RSS feedet"
                               
                                End If
                                Set objXML = Nothing
                                %>
                                <!-- BLOG SLUT -->
Avatar billede mike1963 Nybegynder
17. juli 2010 - 15:43 #1
ThePictureURL =  objItem.selectSingleNode("enclosure").getAttribute("url");

men det andet tag har et CDATA i sig - dvs text() vil indeholde den rå streng med <> og det hele ....

....og så skal du via substr eller lign fiske indholdet ud ;o)
Avatar billede cotus Nybegynder
23. juli 2010 - 15:25 #2
Hvordan fisker jeg det ud?
Og; er der en måde hvorpå jeg kan begrænse antallet af poster den henter fra feedet til fx 10?
Avatar billede mike1963 Nybegynder
26. juli 2010 - 16:45 #3
TheURL =  objItem.selectSingleNode("description").Text ' Hent Indhold

    URL = split(TheURL,'"',-1,1) ' lav en split i array ved alle quotes

    Response.Write URL(2) ' det andet element bør være URLen


description><![CDATA[<p><img src= FØRSTE ELEMENT
"
0fae956e16a24059dd8e3887.jpeg  ANDET ELEMENT
"
width= TREDIE
"
105
"
height=
"
150
"
alt=
...
...
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