ASP RSS þáttari, straumlesari

Depositphotos 4651719 s

Um helgina hef ég verið límd við fartölvuna mína í leit á netinu að lesendum RSS-straums á vefnum. Ástæðan er sú að ég vildi skrifa asp RSS straumlesara sem myndi birta strauminn svo hægt væri að skrappa sjálfkrafa í HTML tölvupóst. Svo fyrir fólk sem vill panta hluta af fréttabréfi tölvupósts síns fyrir blogg eða birtingar greinar þeirra, þá gæti það verið auðveldlega fellt. Þar sem JavaScript birtir í raun ekki innihaldið fyrr en viðskiptavinurinn hefur hlaðið og framkvæmt handritið, þá voru ofgnótt af JavaScript RSS vöfrum ekki gagnleg. Ég þurfti RSS straumlesara á netþjóni.

Ég byrjaði á því að skrifa minn eigin þáttara í ASP með MSXML hlutnum. Ég gat greint um það bil 75% af RSS straumum við þetta, en sumar af lausum XML forskriftum á RSS straumum reyndust mjög erfitt að forrita. Þú getur séð það í aðgerð hér. Þú getur framhjá hámarksfjölda atriða (ni), fjölda stafa sem klippt er af við orðið (nc), svo og slóðina. Þú getur einnig séð raunverulegan straum með villuleitarbreytu hér.

Margir RSS straumar eru í raun alveg „óhreinir“ og krefjast þess að flokka textann í XML skránni með strengjameðferðarkóða (ugh!). Auðvitað erum við ennþá í RSS „æsku“ okkar á netinu svo ég er ekki hissa. Lestu meira um RSS forskriftir hér.

Loksins rakst ég á smá perlu. Ég fann ókeypis ASP flokk til að hlaða niður. Það er svolítið hægt en ég hef ekki fundið straum sem það gat ekki lesið. Ég er með truflaða útgáfu hér og kraftmikla útgáfu hér.

Par athugasemdir við handritið. Ég þurfti að hreinsa út nokkur HTML merki í lýsingunum sem skilað var. Ég gerði það með smá hreinsunaraðgerð sem ég fann:

Aðgerð FjarlægjaHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Gerðu meðan nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Ef nPos2> 0 Þá strText = Vinstri (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Annars hætta Do End Ef nPos1 = InStr (strText, ">") lykkja FjarlægjaHTML = strText Endiraðgerð

Ég bætti einnig við öðrum snyrtilegum kóða: Stundum gæti ég viljað birta meira eða minna af lýsingu. Hins vegar, ef ég takmarka einfaldlega fjölda stafa, þá gæti ég skorið lýsinguna af í miðju orðsins. Ég vil ekki gera það!

Fall Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) if intChars> intLength þá fyrir j = intChars í 0 skref -1 ef mid (strText, j, 1) = "" þá hætta við næst ef j> 0 þá strText = vinstri (strText, j-1) & "..." annað strText = strText enda ef endir ef Cutoff = strText Endir virka

(Ég átti í nokkrum vandræðum með að sýna kóðann minn rétt í þessari færslu ... láttu mig vita ef þú átt í vandræðum með einhverja þessara aðgerða!)

Ég hef tekið eftir töluvert fleiri verkfærum á netinu líka. Það er
. NET útgáfa, margar PHP útgáfur, tonn af JavaScript útgáfum.

Að lokum vona ég að RSS forskriftir haldi áfram að vera betrumbættar og raunverulegir straumar standist XML staðla í öllum tilvikum. Ókeypis forrit eins og TypePad, WordPress o.fl. þurfa að betrumbæta RSS virkni sína. Viðbótar blogg eins og MySpace, Xanga, LiveJournal o.fl. þurfa að bæta RSS virkni sína. RSS ER öflugt ...Chris Baggott skrifaði fínt stykki á Netfangið vs RSS. Ég held að sameina virkni þeirra gæti aukið áhrif beggja!

Hvað finnst þér?

Þessi síða notar Akismet til að draga úr ruslpósti. Lærðu hvernig ummæli þín eru unnin.