Parser RSS ASP, Lettore di Feed

Depositphotos 4651719 s

Questu weekend sò statu incollatu à u mo laptop chì circava in rete per i lettori di feed RSS basati nantu à u web. U mutivu hè chì vulia scrive un lettore di feed RSS asp chì affissassi l'alimentu in modu chì u cuntenutu puderia esse automaticamente scraped in un email HTML. Cusì per e persone chì volenu riservà una parte di a so newsletter per email per i so Articuli Blog o Publicazione, puderia esse facilmente incorporata. Siccomu JavaScript ùn mostra micca u cuntenutu finu à chì u cliente carica è esegue u script, a pletora di navigatori RSS JavaScript ùn eranu micca utili. Aviu bisognu di un lettore di feed RSS da parte di u servitore.

Aghju cuminciatu scrivendu u mo propiu parser in ASP cù l'ughjettu MSXML. Sò statu capace di analizà circa u 75% di i feed RSS facendu questu, ma alcune di e specifiche XML sciolte nantu à i feed RSS si sò rivelati assai difficiuli da prugrammà. Pudete vede in azzione ccà. Pudete passà u numeru massimu di elementi (ni), u numeru di caratteri tagliati à a parolla (nc), è dinò l'URL. Pudete ancu vede l'alimentu attuale cù una variabile di debug ccà.

Parechji flussi RSS sò veramente abbastanza "sporchi" è richiedenu l'analisi di u testu in u fugliale XML cù u codice di manipulazione di stringa (ugh!). Benintesa, simu sempre in a nostra "ghjuventù" RSS in rete, dunque ùn mi sorprendu. Leghjite più nantu à e specifiche RSS ccà.

Infine, aghju scontru una piccula gemma. Aghju trovu una classa ASP gratuita per scaricà. Hè un pocu lentu, ma ùn aghju micca trovu un feed chì ùn sia statu capace di leghje. Aghju una versione statica quì è una versione dinamica quì.

Un coppiu di note nantu à u script. Aghju avutu bisognu di cancellà alcune tag HTML in e descrizzioni restituite. L'aghju fattu cù una piccula funzione di pulizia chì aghju trovu:

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

Aghju aghjustatu ancu un antru pezzu di codice: Qualchì volta, puderia vulè visualizà più o menu una descrizzione. Tuttavia, se limitu solu u numeru di caratteri, allora puderaghju taglià a descrizzione à mezu à a parolla. Ùn vogliu micca fà què!

Funzione Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) if intChars> intLength allora per j = intChars a 0 step -1 se mid (strText, j, 1) = "" allora surtite per u prossimu se j> 0 allora strText = left (strText, j-1) & "..." altru strText = strText finisce se finisce se Cutoff = strText Funzione Finale

(Aghju avutu qualchì prublema cù a visualizazione curretta di u mo codice in sta voce ... fatemi sapè se avete prublemi cù una di queste funzioni!)

Aghju rimarcatu ancu abbastanza altri strumenti in rete. Ci hè un
.net versione, parechje versioni PHP, una mansa di versioni JavaScript.

Per cunclude, spergu chì e specificazioni RSS continuanu à esse raffinate è chì i feed reali rispettanu e norme XML in tutti i casi. L'applicazioni libere cum'è TypePad, WordPress, ecc. Anu bisognu di perfeziunà a so funzionalità RSS. Ulteriori blog cum'è MySpace, Xanga, LiveJournal, ecc. Anu bisognu di migliurà a so funzionalità RSS. RSS hè putente ...Chris Baggott hà scrittu un bellu pezzu nantu à Email vs RSS. Pensu chì unisce a so funzionalità puderia aumentà l'impattu di tramindui!

Chì ne pensi?

Stu situ utilizeghja Akismet per reducisce u puzzicheghju. Sapete ciò chì i dati di i vostri dati è processatu.