ASP RSS талдаушысы, Feed Reader

Depositphotos 4651719 с

Осы демалыс күндері мен ноутбукке желілік RSS арнасын оқырмандарды іздейтін желіммен жапсырылдым. Себебі мен мазмұнды автоматты түрде HTML электрондық поштасына айналдыру үшін арнаны көрсететін RSS арнасы оқырманын жазғым келді. Электрондық пошта жаршыларының бір бөлігін өзінің блогына немесе жариялау мақалаларына сақтап қойғысы келетін адамдар үшін оны оңай қосуға болады. Клиент сценарийді жүктеп, орындағанға дейін JavaScript мазмұнын көрсетпейтіндіктен, JavaScript RSS браузерлерінің көптігі пайдалы болмады. Маған сервер жағынан RSS арнасын оқырман керек болды.

Мен MSXML нысанын пайдаланып ASP-де өзімнің жеке талдауышымды жазудан бастадым. Мен осылайша RSS арналарының 75% талдай алдым, бірақ RSS арналарындағы кейбір бос XML сипаттамаларын бағдарламалау өте қиын болды. Сіз оны іс-әрекеттен көре аласыз Мұнда. Сіз элементтердің максималды санын (ni), (nc) сөзінде кесілген таңбалар санын, сондай-ақ URL жібере аласыз. Сіз сондай-ақ нақты ағынды түзету айнымалысымен көре аласыз Мұнда.

Көптеген RSS арналары шынымен де «лас» және XML файлындағы мәтінді жолмен манипуляциялау кодымен талдауды қажет етеді (ugh!). Әрине, біз әлі де RSS желісіндеміз, сондықтан мен таң қалмаймын. RSS сипаттамалары туралы толығырақ оқыңыз Мұнда.

Ақыры кішкентай асыл тасқа тап болдым. Жүктеу үшін тегін ASP сыныбын таптым. Сәл баяу, бірақ мен оқи алмайтын арнаны таппадым. Мен мұнда статикалық нұсқасын және динамикалық нұсқасын алдым.

Сценарий бойынша ерлі-зайыптылар. Маған қайтарылған сипаттамалардағы HTML тегтерін алып тастау қажет болды. Мен мұны кішкене тазарту функциясымен жасадым:

Функция RemoveHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, «>») Do while nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, «>») If nPos2> 0 If strText = Left (strText, nPos1) - 1) & Mid (strText, nPos2 + 1) Басқа шығу Do End Егер nPos1 = InStr (strText, «>») Loop RemoveHTML = strText End функциясы

Мен тағы бір ұқыпты кодты қостым: Кейде мен сипаттаманың азды-көпті көрсеткім келуі мүмкін. Алайда, егер мен жай ғана таңбалардың санын шектесем, онда мен сөздің ортасындағы сипаттаманы үзіп тастаймын. Мен мұны жасағым келмейді!

Функция Cutoff (strText, intChars) dim intLength dim j intLength = len (strText), егер intChars> intLength, содан кейін j = intChars үшін 0 қадамға -1 болса, орта (strText, j, 1) = «» содан кейін келесіге шығыңыз, егер j> 0 содан кейін strText = left (strText, j-1) & «...» else strText = strText end if end if if Cutoff = strText End function

(Мен бұл жазбада өз кодымды дұрыс көрсетуге байланысты біраз қиындықтарға тап болдым ... егер сізде осы функциялардың кез-келгенінде проблемалар болса, маған хабарлаңыз!)

Мен желіде тағы бірнеше құралдарды байқадым. Бар
.NET нұсқасы, көптеген PHP нұсқалары, тонна JavaScript нұсқалары.

Қорытындылай келе, RSS сипаттамалары нақтыланып, нақты арналар барлық жағдайларда XML стандарттарына сәйкес келеді деп үміттенемін. TypePad, WordPress және т.б. сияқты ақысыз қосымшалар өздерінің RSS функцияларын жетілдіруі керек. MySpace, Xanga, LiveJournal және т.б.қосымша блогтар RSS функциясын жақсартуы керек. RSS қуатты ...Крис Бэгготт Электрондық поштаға қарсы RSS-ке жақсы шығарма жазды. Менің ойымша, олардың функционалдығын біріктіру екеуінің де әсерін арттыра алады!

Сен не ойлайсың?

Бұл сайт спамның төмендеуі үшін Akismet пайдаланады. Деректеріңіздің қалай өңделетінін біліңіз.