ASP RSS-ontleder, voerleser

Depositphotos 4651719 s

Hierdie naweek is ek vasgenael op my skootrekenaar wat op die internet soek na RSS-lesers op die internet. Die rede is dat ek 'n asp RSS feed-leser wou skryf wat die feed sou vertoon sodat die inhoud outomaties in 'n HTML-e-pos geskraap kon word. Dit kan dus maklik opgeneem word vir mense wat 'n gedeelte van hul e-posbrief vir hul blog- of publikasie-artikels wil bespreek. Aangesien JavaScript die inhoud eintlik nie vertoon voordat die kliënt die script laai en uitvoer nie, was die oorvloed JavaScript RSS-blaaiers nie nuttig nie. Ek het 'n RSS-feed-leser aan die bediener nodig gehad.

Ek het begin deur my eie ontleder in ASP te skryf met behulp van die MSXML-voorwerp. Ek kon ongeveer 75% van die RSS-feeds ontleed om dit te doen, maar sommige van die los XML-spesifikasies op RSS-feeds was baie moeilik om te programmeer. U kan dit in aksie sien hier afgelaai word. U kan die maksimum aantal items (ni), die aantal karakters wat by die woord (nc) afgesny is, sowel as die URL deurgee. U kan ook die werklike voer met 'n foutopspoorveranderlike sien hier afgelaai word.

Baie RSS-feeds is regtig 'vuil' en vereis dat die teks in die XML-lêer met stringmanipuleringskode (ugh!) Ontleed word. Natuurlik is ons nog in ons RSS 'jeug' op die net, so ek is nie verbaas nie. Lees meer oor RSS-spesifikasies hier afgelaai word.

Uiteindelik het ek 'n klein juweeltjie raakgeloop. Ek het 'n gratis ASP-klas gekry om af te laai. Dit is 'n bietjie stadig, maar ek het nie 'n feed gevind wat dit nie kon lees nie. Ek het 'n statiese weergawe hier en 'n dinamiese weergawe hier.

'N Paar aantekeninge oor die draaiboek. Ek moes wel enkele HTML-etikette in die beskrywings wat teruggestuur is, uitvee. Ek het dit gedoen met 'n bietjie opruimfunksie wat ek gevind het:

Funksie VerwyderHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Doen terwyl nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") As nPos2> 0 Dan strText = Links (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Anders Uitgang Doen einde as nPos1 = InStr (strText, ">") Lus VerwyderHTML = strText Eindfunksie

Ek het ook nog 'n netjiese bietjie kode bygevoeg: soms wil ek min of meer 'n beskrywing vertoon. As ek egter net die aantal karakters beperk, kan ek die beskrywing in die middel van die woord afsny. Ek wil dit nie doen nie!

Funksie Afsnyding (strText, intChars) dim intLength dim j intLength = len (strText) as intChars> intLength dan vir j = intChars tot 0 stap -1 as mid (strText, j, 1) = "", gaan dan uit vir volgende as j> 0 dan strText = links (strText, j-1) & "..." anders strText = strText eindig as einde as Cutoff = strText Eindfunksie

(Ek het probleme ondervind met die vertoon van my kode in hierdie inskrywing ... laat my weet as u probleme ondervind met een van hierdie funksies!)

Ek het ook nog 'n hele paar instrumente op die internet opgemerk. Daar is 'n
NET. weergawe, baie PHP-weergawes, 'n ton JavaScript-weergawes.

Ter afsluiting hoop ek dat RSS-spesifikasies steeds verfyn word en dat die werklike feeds in alle gevalle aan XML-standaarde voldoen. Gratis toepassings soos TypePad, WordPress, ens. Moet hul RSS-funksionaliteit verfyn. Bykomende blogs soos MySpace, Xanga, LiveJournal, ens. Moet hul RSS-funksies verbeter. RSS IS kragtig ...Chris Baggott het 'n mooi stuk geskryf oor E-pos versus RSS. Ek dink die kombinasie van hul funksies kan die impak van albei verhoog!

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.