Avatar billede weis Nybegynder
24. juli 2007 - 21:19 Der er 21 kommentarer og
1 løsning

RSS feed og access

ja, hvordan laver jeg et rss feed som henter sine oplysninger fra en access database, synes jeg har søgt exp igen uden at finde noget som virkede!
Avatar billede w13 Novice
25. juli 2007 - 04:27 #1
Har du nogen erfaring med XML?
Avatar billede weis Nybegynder
25. juli 2007 - 11:05 #2
jeg har lidt, har lavet en kalender med mulighed for at exporter til vCal fil!
Avatar billede w13 Novice
25. juli 2007 - 13:51 #3
Ok. Som regel ville man gøre det sådan, at du simpelthen bare laver en .asp-fil som henter fra db og genererer feed'en, præcis som den skal se ud ligesom når du genererer HTML med ASP.

Øverst i dit dokument skal du så indsætte APS-koden:
Response.ContentType="application/rss+xml"

Normalt, når en fil åbnes, bestemmer endelsen (f.eks. ".asp"), at det er ASP, som er i filen, men ved at sætte content-type, angiver du et andet filformat til trods for filendelsen.
Avatar billede weis Nybegynder
25. juli 2007 - 14:02 #4
okay, ja så får jeg mig en rss opstilling på hjemmesiden, men min fil hedder stadig .asp, så jeg får et lille problem med noget genkendelse af rss feed'en
Avatar billede w13 Novice
25. juli 2007 - 15:08 #5
Gør du? Hmm. Det burde ellers ikke være et problem, når man angiver ContentType, da det "overskriver" filendelsen.
Avatar billede weis Nybegynder
25. juli 2007 - 15:24 #6
ja! den ligger jo som en alm, asp fil lige nu... det er jo først når den køres at den ændres til rss, men det kan mit andet script jo ikke tyde da den bare ser på extension af filen!
Avatar billede w13 Novice
25. juli 2007 - 15:33 #7
Gør den? Hvordan læser du filer? Dvs. med hvilket program/script?
Og har du prøvet?
Avatar billede weis Nybegynder
25. juli 2007 - 15:42 #8
jeg mener mit problem er at jeg kan ikke finde den som rss fil, når jeg fx bruger dette script:

<%
'Her skal mappen hvor du smider filerne i specificeres
folder = "/"

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(server.mappath(folder))
response.write "<h2>Filer</h2><blockquote>"

For Each x in f.files
'herunder kan \"asp\" ændres til den filtype du vil vælge.
if right(x.name,3) = "rss" then
response.write x.name & "<BR>"
end if
Next
response.write "</blockquote><hr>"
%>

og når jeg skal line til filen så skal den have endelsen .asp for at jeg kan komme ind på den (men den opføre sig som en rss fil)
Avatar billede weis Nybegynder
25. juli 2007 - 15:43 #9
<-- rettelse

dette script:

<%
'Her skal mappen hvor du smider filerne i specificeres
folder = "/"

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(server.mappath(folder))
response.write "<h2>Filer</h2><blockquote>"

For Each x in f.files
if right(x.name,3) = "rss" then
response.write x.name & "<BR>"
end if
Next
response.write "</blockquote><hr>"
%>
Avatar billede w13 Novice
25. juli 2007 - 15:46 #10
Ah, ja, det er selvfølgelig et problem. Du kan ikke lægge den i en mappe, som kun indeholder feeds og så fjerne if-betingelsen og på den måde løse det? For ellers skal vi ud i en kode, som genererer og opretter et .rss-dokument, og det er lidt omfattende og skal gøres fra bunden, hver eneste gang noget ændres i dit rss's data i databasen.

Den kan slet ikke finde ud af, at gøre noget med ASP-koden i filen, hvis du kalder den .rss, vel?
Avatar billede thesurfer Nybegynder
25. juli 2007 - 15:46 #11
Det vil ikke virke, fordi scriptet kigger efter filer, hvis navn ender med "rss".
Det kan f.eks. være "test.rss" eller "hugorss"..

I stedet før du finde på et format, og ændre navnet på ASP-RSS filen..
Eksempel:
ASP-RSS filen skal start med "rss_"

Så kan du bruge

if right(x.name,3) = "rss" or left(x.name, 4) = "rss_" then
Avatar billede thesurfer Nybegynder
25. juli 2007 - 15:48 #12
Rettelse: "før" = "bør" :-)

Eksempel på filerne i mappen:

noget.rss
andet.rss
rss_etellerandether.asp

Læs mærke til ASP filens navn.. som starter med "rss_"..

Det vil så stadig virke med:

if right(x.name,3) = "rss" or left(x.name, 4) = "rss_" then
Avatar billede w13 Novice
25. juli 2007 - 15:48 #13
Lyder som en god løsning! :)
Avatar billede thesurfer Nybegynder
25. juli 2007 - 15:48 #14
Jeg kan ikke huske om Left er zero-based (dvs, første tegn er plads 0 og ikke 1)..
Hvis Left er zero-based, skal det være:

if right(x.name,3) = "rss" or left(x.name, 3) = "rss_" then
Avatar billede w13 Novice
25. juli 2007 - 15:50 #15
Det er ikke zerobaseret, så din første løsning var i orden. :)
Avatar billede weis Nybegynder
25. juli 2007 - 15:58 #16
det er vel en løsning, men at have det som en .rss fil vil være at foretrække. Jeg har desværre ikke kunnet finde så meget om rss og access på nettet, men kender i nogle steder hvor man kan læse mere om det!
Avatar billede thesurfer Nybegynder
25. juli 2007 - 16:00 #17
Hvis du absolut vil have en RSS fil, fremfor en ASP fil, skal du lade ASP filen oprette og skrive til en RSS fil.

Det betyder at du skal kalde ASP filen, hver gang RSS filen skal opdateres..
Avatar billede w13 Novice
25. juli 2007 - 16:02 #18
Det kommer an på, hvad du vil. Vil du have et asp-dokument (eks. generate_rss.asp) til at generere filnavn.rss?

Og det er ikke en løsning bare at smide alle rss i mappen "/rss" og så angive folder="/rss" i din kode og slette if-betingelsen?
Avatar billede w13 Novice
25. juli 2007 - 16:03 #19
Som Thesurfer også antyder, bliver det netop kun besværligere af at generere filen. Jeg ser ikke mange fordele, udover at den får endelsen .rss.
Avatar billede weis Nybegynder
25. juli 2007 - 16:10 #20
okay, så må det ende med en asp fil, og så et nyt søge script, tak for hjælpen

w13 <- ligger du et svar
Avatar billede w13 Novice
25. juli 2007 - 16:12 #21
Okidoke! :)
Avatar billede w13 Novice
25. juli 2007 - 16:13 #22
Takker for point!
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