ASP RSS-parser, feedleser

Depositphotos 4651719 s

Denne helgen har jeg blitt limt på den bærbare datamaskinen min på nettet etter nettbaserte RSS-feedlesere. Årsaken er at jeg ønsket å skrive en asp RSS-feedleser som skulle vise feeden slik at innholdet automatisk kunne skrapes inn i en HTML-e-post. Så for folk som ønsker å reservere en del av e-postnyhetsbrevet sitt for blogg- eller publikasjonsartikler, kan det enkelt bli innlemmet. Siden JavaScript faktisk ikke viser innholdet før klienten laster og utfører skriptet, var ikke overflod av JavaScript RSS-nettlesere nyttige. Jeg trengte en RSS-feedleser på serversiden.

Jeg begynte med å skrive min egen parser i ASP ved hjelp av MSXML-objektet. Jeg klarte å analysere omtrent 75% av RSS-feeds som gjorde dette, men noen av de løse XML-spesifikasjonene på RSS-feeds viste seg å være veldig vanskelig å programmere. Du kan se det i aksjon her.. Du kan sende maksimalt antall elementer (ni), antall tegn avskåret ved ordet (nc), samt URL. Du kan også se den faktiske feeden med en feilsøkingsvariabel her..

Mange RSS-feeder er egentlig ganske 'skitne' og krever parsing av teksten i XML-filen med strengmanipuleringskode (uhg!). Selvfølgelig er vi fortsatt i RSS-ungdommen vår på nettet, så jeg er ikke overrasket. Les mer om RSS-spesifikasjoner her..

Til slutt kom jeg over en liten perle. Jeg fant en gratis ASP-klasse å laste ned. Det er litt tregt, men jeg har ikke funnet en feed som den ikke kunne lese. Jeg har en statisk versjon her og en dynamisk versjon her.

Et par notater om manuset. Jeg trengte å fjerne noen HTML-koder i de returnerte beskrivelsene. Jeg gjorde det med en liten oppryddingsfunksjon jeg fant:

Funksjon FjernHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Gjør mens nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Hvis nPos2> 0 Så strText = Venstre (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Annet Exit Do End Hvis nPos1 = InStr (strText, ">") Sløyfe FjernHTML = strText End Funksjon

Jeg la også til en annen fin kode: Noen ganger vil jeg kanskje vise mer eller mindre en beskrivelse. Men hvis jeg bare begrenser antall tegn, kan jeg kutte beskrivelsen midt i ordet. Jeg vil ikke gjøre det!

Funksjon Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) if intChars> intLength then for j = intChars to 0 step -1 if mid (strText, j, 1) = "" then exit for next if j> 0 så strText = venstre (strText, j-1) & "..." ellers strText = strText slutt hvis slutt hvis Cutoff = strText End Funksjon

(Jeg hadde noen problemer med å vise koden min riktig i denne oppføringen ... gi meg beskjed hvis du har problemer med noen av disse funksjonene!)

Jeg har lagt merke til ganske mange flere verktøy på nettet også. Det er en
. NET versjon, mange PHP-versjoner, massevis av JavaScript-versjoner.

For å avslutte håper jeg at RSS-spesifikasjoner fortsetter å bli raffinert og at de faktiske feeds i alle tilfeller er i samsvar med XML-standarder. Gratis applikasjoner som TypePad, WordPress osv. Trenger å avgrense RSS-funksjonaliteten. Ytterligere blogger som MySpace, Xanga, LiveJournal, etc. trenger å forbedre RSS-funksjonaliteten. RSS ER kraftig ...Chris Baggott skrev et fint stykke på E-post vs. RSS. Jeg tror å kombinere funksjonaliteten deres kan øke effekten av begge deler!

Hva tror du?

Dette nettstedet bruker Akismet for å redusere spam. Lær hvordan kommentaren din behandles.