Parser RSS ASP, lettore di feed

4651719 s

Questo fine settimana sono stato incollato al mio laptop cercando in rete lettori di feed RSS basati sul web. Il motivo è che volevo scrivere un lettore di feed RSS asp che visualizzasse il feed in modo che il contenuto potesse essere automaticamente raschiato in un'e-mail HTML. Quindi, per le persone che desiderano riservare una parte della loro newsletter via e-mail per il loro blog o articoli di pubblicazione, potrebbe essere facilmente incorporata. Poiché JavaScript non visualizza effettivamente il contenuto fino a quando il client non carica ed esegue lo script, la pletora di browser RSS JavaScript non è stata utile. Avevo bisogno di un lettore di feed RSS lato server.

Ho iniziato scrivendo il mio parser in ASP utilizzando l'oggetto MSXML. Sono stato in grado di analizzare circa il 75% dei feed RSS facendo questo, ma alcune delle specifiche XML sciolte sui feed RSS si sono rivelate molto difficili da programmare. Puoi vederlo in azione qui. Puoi passare il numero massimo di elementi (ni), il numero di caratteri troncati alla parola (nc) e l'URL. Puoi anche vedere il feed effettivo con una variabile di debug qui.

Molti feed RSS sono davvero piuttosto "sporchi" e richiedono l'analisi del testo nel file XML con codice di manipolazione delle stringhe (ugh!). Ovviamente siamo ancora nella nostra "giovinezza" RSS in rete, quindi non sono sorpreso. Ulteriori informazioni sulle specifiche RSS qui.

Alla fine, mi sono imbattuto in un piccolo gioiello. Ho trovato una classe ASP gratuita da scaricare. È un po 'lento, ma non ho trovato un feed che non è stato in grado di leggere. Ho una versione statica qui e una versione dinamica qui.

Un paio di note sulla sceneggiatura. Avevo bisogno di cancellare alcuni tag HTML nelle descrizioni restituite. L'ho fatto con una piccola funzione di pulizia che ho trovato:

Funzione RemoveHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Do While nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") If nPos2> 0 Allora strText = Left (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Else Exit Do End If nPos1 = InStr (strText, ">") Loop RemoveHTML = strText End Function

Ho anche aggiunto un altro po 'di codice pulito: a volte, potrei voler visualizzare più o meno una descrizione. Tuttavia, se limitassi semplicemente il numero di caratteri, potrei tagliare la descrizione nel mezzo della parola. Non voglio farlo!

Funzione Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) se intChars> intLength allora per j = intChars a 0 passo -1 se mid (strText, j, 1) = "" poi esci per successivo se j> 0 allora strText = left (strText, j-1) & "..." altrimenti strText = strText end if end if Cutoff = strText Fine Funzione

(Ho avuto dei problemi con la visualizzazione corretta del mio codice in questa voce ... fammi sapere se hai problemi con una di queste funzioni!)

Ho notato anche molti altri strumenti in rete. C'è un
. NET versione, molte versioni di PHP, un sacco di versioni di JavaScript.

Per concludere, spero che le specifiche RSS continuino ad essere perfezionate e che i feed effettivi siano conformi agli standard XML in tutti i casi. Applicazioni gratuite come TypePad, WordPress, ecc. Devono perfezionare la loro funzionalità RSS. Blog aggiuntivi come MySpace, Xanga, LiveJournal, ecc. Devono migliorare la loro funzionalità RSS. RSS È potente ...Chris Baggott ha scritto un bel pezzo su Email vs. RSS. Penso che combinare le loro funzionalità potrebbe aumentare l'impatto di entrambi!

Cosa ne pensi?

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.