Razčlenjevalnik ASP RSS, bralnik virov

Depositphotos 4651719 s

Ta konec tedna sem bil prilepljen na svoj prenosnik in po spletu iskal spletne bralnike virov RSS. Razlog je v tem, da sem želel napisati asp bralnik virov RSS, ki bo prikazal vir, tako da bo vsebina samodejno strgana v e-poštno sporočilo HTML. Torej, za ljudi, ki želijo rezervirati del svojega e-poštnega glasila za svoje članke v blogu ali publikaciji, ga je mogoče enostavno vključiti. Ker JavaScript dejansko ne prikaže vsebine, dokler odjemalec ne naloži in izvede skripta, množica brskalnikov RSS JavaScript ni bila koristna. Potreboval sem bralnik virov RSS na strani strežnika.

Začel sem s pisanjem lastnega razčlenjevalnika v ASP z uporabo predmeta MSXML. Pri tem sem lahko razčlenil približno 75% virov RSS, vendar se je izkazalo, da je nekatere ohlapne specifikacije XML za vire RSS zelo težko programirati. To lahko vidite v akciji tukaj. Lahko posredujete največje število elementov (ni), število znakov, odrezanih pri besedi (nc), in URL. Prav tako lahko vidite dejanski vir s spremenljivko za odpravljanje napak tukaj.

Številni viri RSS so res precej "umazani" in zahtevajo razčlenitev besedila v datoteki XML s kodo za manipulacijo nizov (uf!). Seveda smo še vedno v naši „mladosti“ RSS na internetu, zato nisem presenečen. Preberite več o specifikacijah RSS tukaj.

Končno sem naletel na majhen dragulj. Našel sem brezplačen razred ASP za prenos. Je nekoliko počasen, vendar nisem našel vira, ki ga ni mogel prebrati. Tu imam statično in dinamično različico.

Nekaj ​​opomb o scenariju. V vrnjenih opisih sem moral počistiti nekaj oznak HTML. To sem naredil z malo funkcije čiščenja, ki sem jo našel:

Funkcija OdstraniHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Do While nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") If nPos2> 0 Potem strText = Left (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Else Exit Do End If If nPos1 = InStr (strText, ">") Loop Remove HTML = strText End Function

Dodal sem tudi še eno lepo kodo: včasih bi morda želel prikazati bolj ali manj opisa. Če pa preprosto omejim število znakov, bom morda odrezal opis sredi besede. Tega nočem storiti!

Izključitev funkcije (strText, intChars) dim intLength dim j intLength = len (strText), če intChars> intLength potem za j = intChars na 0 korak -1 če je sredina (strText, j, 1) = "" nato zapremo za naslednjo, če j> 0 nato strText = levo (strText, j-1) & "..." sicer strText = strText konec, če se konča, če je Cutoff = strText End Funkcija

(V tem vnosu sem imel nekaj težav s pravilnim prikazom kode ... sporočite mi, če imate težave z eno od teh funkcij!)

Tudi na internetu sem opazil še kar nekaj orodij. Obstaja
NET. različica, veliko različic PHP, ton različic JavaScript.

Za konec upam, da se bodo specifikacije RSS še naprej izboljševale in da bodo dejanski viri v vseh primerih v skladu s standardi XML. Brezplačne aplikacije, kot so TypePad, WordPress itd., Morajo izboljšati svojo RSS funkcijo. Dodatni spletni dnevniki, kot so MySpace, Xanga, LiveJournal itd., Morajo izboljšati svojo RSS funkcijo. RSS JE močan ...Chris Baggott napisal lep članek o e-pošti v primerjavi z RSS. Mislim, da bi kombinacija njihove funkcionalnosti lahko povečala učinek obeh!

Kaj menite?

Ta stran uporablja Akismet za zmanjšanje nezaželene pošte. Preberite, kako se vaš komentar obravnava.