Avatar billede kimlarsen1978 Nybegynder
02. juli 2007 - 12:00 Der er 19 kommentarer og
2 løsninger

RSS bliver ikke udskrevet når files hedder .rss

Hejsa
Jeg har lavet en ASP side der kan generere RSS XML over mine nyeste artikler. Den lavet fint XML'en når filen hedder .asp, men når jeg omdøber den til at hedde .rss skriver den blot asp-koden ud...

Hvordan fixer jeg det, eller griber jeg det forkert an?
Avatar billede w13 Novice
02. juli 2007 - 12:18 #1
Angiver du Content-Type?
Avatar billede kbhadsten Nybegynder
02. juli 2007 - 12:33 #2
Som jeg læser det, så har du lavet noget ASP kode (VBs?) som skal genere et RSS feed.
Der er to måder at angribe den på. Du kan enten i din kode, angive headeroplysninger til RSS så du genere feed'et on-the-fly, eller du kan oprette en fil med RSS indholdet som du linker til.

Du kan ikke lave ASP kode (lav_rss.asp) og så omdøbe den til rss, det vil din webserver ikke kunne håndtere,og det er derfor den bare spytter ASP koden ud direkte i browseren. Jeg ved ikke om man kan lave dynamiske header informationer i ASP, da jeg selv koder PHP.

Du kan læse om oprettelse af filer her:
http://www.brainjar.com/asp/fileops/
Avatar billede kimlarsen1978 Nybegynder
02. juli 2007 - 12:40 #3
Hmm, hvordan dæler laver man så et dymanisk rss hvis ikke man kan generere det via en ASP fil?
Avatar billede kimlarsen1978 Nybegynder
02. juli 2007 - 12:46 #4
Det vil sige man skal lave en funktion der vis noget server scripting kan opdatere din rss fil? Den funktion kalder man så hvergang noget ændres på siden?
Avatar billede kimlarsen1978 Nybegynder
02. juli 2007 - 12:51 #5
Det må da kunne laves smartere?
Avatar billede kbhadsten Nybegynder
02. juli 2007 - 13:11 #6
eh, ikke hvad jeg lige ved af. Men der er altså ikke ret meget i det.

Åben fil,
hent data fra db (eller hvor du nu har det),
skriv data,
luk fil.
Avatar billede w13 Novice
02. juli 2007 - 13:11 #7
Du kan sagtens bruge ASP, men det siger KBHadsten jo også, at du godt kan. Du kan bare ikke døbe din fil RSS, for så ved serveren ikke, at den skal fortolke ASP'en som ASP! Ergo: filen _skal_ hedde ASP. Men du kan i ASP'en definere, hvilken filtype, indholdet er!

Prøv at skrive følgende i APS-koden:
<%response.ContentType="text/xml"%>

(Jeg ved ikke, om det er gyldigt at skrive: <%response.ContentType="text/rss"%>
Men det kunne være et alternativ!)
Avatar billede kbhadsten Nybegynder
02. juli 2007 - 13:16 #8
Yes!
w13 har beskrevet hvad jeg selv kalder dynamisk header information (Det at man ændre headeren som browseren læser fra HTML til RSS on-the-fly).
Mit eget udtryk er måske ikke det bedste, men jeg kender ikke lige den korrekte terminologi.
Avatar billede w13 Novice
02. juli 2007 - 13:24 #9
Om det så hedder text/xml eller endnu bedre: text/rss, ved jeg ikke.
Avatar billede kimlarsen1978 Nybegynder
02. juli 2007 - 13:28 #10
Tror ikke jeg forstår det der on-the-fly noget, for det ændre jo ikke på at filen hedder .asp?

og vedr. det andet skal jeg så hver gang der kommer nyt på min side åbne filen og skrive den igen forfra?
Avatar billede w13 Novice
02. juli 2007 - 13:38 #11
Jo, hvis filen hedder ASP, så kan den fortolkes som ASP og derved generere RSS/XML-koden!

Og hvis du indsætter min ASP-linje øverst i ASP-dokumentet, så ved din server, at til trods for filens APS-efternavn, så skal det vises som rss!
Avatar billede kbhadsten Nybegynder
02. juli 2007 - 13:40 #12
Du kan godt få en ASP fil til at returnere andet end HTML (genereret ud fra server-side ASP). Dette kunne være PDF, billeder, XML osv osv. Dette gøres ved at ændre de header-data som sendes fra server->til->klient. (webserver til browser)

Definition af header information:
http://en.wikipedia.org/wiki/Header_(information_technology)

Hvis du i din ASP kode fortæller browseren at nu kommer der altså XML, udformet som RSS, så er det det den vil forvente og fortolke.

Alternativet er og lave en fil som du smider dine RSS data over i, og ja! Den vil så blive genskrevet hver gang siden der håndterer dette bliver reloadet.

Du kan jo så lave nogle IF sætning der sikrer at filen f.eks. kun bliver genskrevet en gang i døgnet, hvis du ønsket dette.
Avatar billede kimlarsen1978 Nybegynder
03. juli 2007 - 10:30 #13
Hejsa
Det er OK nu sådan næsten da...

Jeg har fået min .asp side til at fungere som rss, men der er en ting jeg ikke kan forstå. Når jeg åbner den i en browser eller på en mobiltelefon er alt OK. Men hvis jeg sætter Outlook 2007 til at hente fra min RSS kommer kun overskriften med, der kommer ikke indhold med. Det vil sige data fra <description> vises ikke.

Jeg har prøvet at tilføje andre rss-feed's bla. den her fra exp og der kommer desc fint med i outlook...

Nogle idéer?

Anyway så vil jeg gerne give 50/50 point til jer - svar bitte :-)
Avatar billede kimlarsen1978 Nybegynder
03. juli 2007 - 12:21 #14
Nu har jeg fundet ud af hvad der gør det, men jeg fatter ikke hvorfor!

min description ser sådan her ud:

***********
Response.Write "<description xmlns:cf=""http://www.microsoft.com/schemas/rss/core/2005"" cf:type=""html""><![CDATA["
Response.Write udskrivFoersteDelAfTekst(LEFT(rs("tekst"),450),".",200,100)
Response.Write "]]></description>"
*************

og fjerner jeg
*********************
cf:type=""html""
*********************
så kommer description med i outlook 2007, men hvorfor? Mange andre feeds som ser OK ud i outlook har også cf:type=""html"" med uden at det betyder at de ikke vises i outlook...

Min top ser sådan her ud:
**********************
Response.write "<?xml version=""1.0"" encoding=""utf-8""?>"
Response.write "<rss version=""2.0"" xmlns:atom=""http://www.w3.org/2005/Atom"" xmlns:cf=""http://www.microsoft.com/schemas/rss/core/2005"">"
Response.Write "<channel xmlns:cfi=""http://www.microsoft.com/schemas/rss/core/2005/internal"" cfi:lastdownloaderror=""None"">"
************************
Avatar billede kimlarsen1978 Nybegynder
03. juli 2007 - 12:22 #15
Aller øverst har jeg:
***********************
Session.CodePage = 65001
response.ContentType="text/xml"
***************
Avatar billede w13 Novice
03. juli 2007 - 13:20 #16
Lyder godt! :)
Avatar billede kimlarsen1978 Nybegynder
03. juli 2007 - 13:38 #17
Nu har jeg fundet fejlen...
Alt det pjat med xmlns:atom cf: også videre er noget min RSS-læser tilføjer har tilføjet, så det skal jeg ikke selv skrive i XML'en *LOL* - men nu virker det. Hurra
Avatar billede kimlarsen1978 Nybegynder
03. juli 2007 - 13:39 #18
kbhadsten -> kommer du lige med et svar også?
Avatar billede kbhadsten Nybegynder
04. juli 2007 - 07:51 #19
Hej igen Kim..

Nu er vi kommet ned på et meget praktisk plan, og her står jeg af. Jeg har aldrig lavet RSS feeds selv, jeg kan bare den grundlæggende teori. Du kunne smide alverdens syntax i hovedet på mig, og jeg ville bare sige "ja ja, det er rigtigt" uden at vide noget som helst om det.

Desværre kan jeg ikke hjælpe længere end her til.
Avatar billede kimlarsen1978 Nybegynder
04. juli 2007 - 11:06 #20
Jeg er også kommet igennem, men jeg vil gerne give dig 50% af points...
Svar bitte...
Avatar billede kbhadsten Nybegynder
04. juli 2007 - 11:34 #21
Sejt, tror aldrig jeg har fået points før ;D
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