ASP RSS Parser, Read Reader

Depositphotos 4651719 s

Nitong katapusan ng linggo nakadikit ako sa aking laptop na naghahanap sa net para sa mga mambabasa ng RSS feed na batay sa web. Ang dahilan ay nais kong magsulat ng isang asp RSS feed reader na magpapakita ng feed upang ang nilalaman ay maaaring awtomatikong na-scrap sa isang HTML email. Kaya para sa mga tao na nais magreserba ng isang bahagi ng kanilang newsletter sa email para sa kanilang mga artikulo sa Blog o Publication, madali itong maisama. Dahil hindi talaga ipinapakita ng JavaScript ang nilalaman hanggang sa mai-load at maipatupad ng client ang script, ang napakaraming mga browser ng JavaScript RSS ay hindi kapaki-pakinabang. Kailangan ko ng isang tagabasa ng RSS feed ng panig ng server.

Nagsimula ako sa pamamagitan ng pagsulat ng aking sariling parser sa ASP gamit ang object na MSXML. Nagawa kong mai-parse ang tungkol sa 75% ng mga RSS feed na ginagawa ito, ngunit ang ilan sa mga maluwag na pagtutukoy ng XML sa mga RSS feed ay napatunayan na napakahirap i-program. Maaari mo itong makita sa aksyon dito. Maaari mong ipasa ang max na bilang ng mga item (ni), ang bilang ng mga character na pinutol sa salita (nc), pati na rin ang URL. Maaari mo ring makita ang aktwal na feed na may variable ng pag-debug dito.

Maraming mga RSS feed ang talagang 'marumi' at nangangailangan ng pag-parse ng teksto sa XML file na may code ng pagmamanipula ng string (ugh!). Siyempre, nasa net pa rin ang aming RSS 'kabataan' sa net kaya hindi ako nagulat. Magbasa nang higit pa tungkol sa mga pagtutukoy ng RSS dito.

Sa wakas, nakatagpo ako ng isang maliit na hiyas. Natagpuan ko ang isang libreng klase ng ASP upang mai-download. Medyo mabagal ito, ngunit wala akong nahanap na feed na hindi nito nabasa. Mayroon akong isang static na bersyon dito at isang pabago-bagong bersyon dito.

Ang isang pares na tala sa script. Kailangan kong limasin ang ilang mga HTML tag sa naibalik na paglalarawan. Ginawa ko iyon sa isang maliit na function ng paglilinis na nakita ko:

Pag-andar ngHHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Gawin Habang nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Kung nPos2> 0 Kung gayon ang strText = Kaliwa (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Ang Ibang Exit Ay Nagtatapos Kung nPos1 = InStr (strText, ">") Loop DeleteHTML = strText End Function

Nagdagdag din ako ng isa pang maayos na kaunting code: Minsan, baka gusto kong ipakita ang higit pa o mas kaunti sa isang paglalarawan. Gayunpaman, kung nililimitahan ko lang ang bilang ng mga character, pagkatapos ay maaari kong putulin ang paglalarawan sa gitna ng salita. Ayokong gawin yun!

Pag-andar ng Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) kung intChars> intLength pagkatapos para sa j = intChars sa 0 hakbang -1 kung kalagitnaan (strText, j, 1) = "" pagkatapos ay lumabas para sa susunod kung j> 0 pagkatapos strText = pakaliwa (strText, j-1) & "..." iba pa strText = strText magtatapos kung magtatapos kung Cutoff = strText End Function

(Nagkaroon ako ng ilang mga problema sa pagpapakita ng tama ng aking code sa entry na ito ... ipaalam sa akin kung mayroon kang mga problema sa alinman sa mga pagpapaandar na ito!)

Napansin ko rin ang ilan pang mga tool sa net din. Meron isang
. NET bersyon, maraming mga bersyon ng PHP, isang toneladang mga bersyon ng JavaScript.

Upang tapusin, inaasahan kong ang mga pagtutukoy ng RSS ay patuloy na pinong at ang mga tunay na feed ay sumusunod sa mga pamantayan ng XML sa lahat ng mga kaso. Ang mga libreng application tulad ng TypePad, WordPress, atbp ay kailangang pinuhin ang kanilang pagpapaandar sa RSS. Ang mga karagdagang blog tulad ng MySpace, Xanga, LiveJournal, atbp. Ay kailangang mapabuti ang pagpapaandar ng RSS. RSS AY malakas…Chris Baggott Sumulat ng isang magandang piraso sa Email kumpara sa RSS. Sa palagay ko ang pagsasama-sama ng kanilang pag-andar ay maaaring dagdagan ang epekto ng pareho!

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.