ASP RSS tahlilchisi, Feed Reader

Depositphotos 4651719 s

Ushbu dam olish kunlari men veb-saytga asoslangan RSS-lentani o'qiydiganlarni qidiradigan noutbukga yopishib oldim. Buning sababi shundaki, men tarkibni avtomatik ravishda HTML elektron pochtasiga o'tkazib yuborish uchun lentani ko'rsatadigan RSS lenta o'quvchisini yozishni xohladim. Shunday qilib, elektron pochta xabarlarining bir qismini o'zlarining Bloglari yoki nashrlari haqidagi maqolalar uchun saqlab qo'yishni istaganlar uchun bu osonlikcha kiritilishi mumkin. Mijoz skriptni yuklamaguncha va bajarguncha JavaScript tarkibni aslida ko'rsatmagani uchun, JavaScript-ni RSS-brauzerlarining ko'pligi foydali bo'lmadi. Menga server tomonidagi RSS tasmali o'quvchi kerak edi.

Men MSXML ob'ekti yordamida ASP-da o'zimning tahlilchimni yozishni boshladim. Men buni amalga oshirayotgan RSS kanallarining taxminan 75% ni tahlil qila oldim, ammo RSS lentalarida bo'sh XML spetsifikatsiyalarining bir qismini dasturlash juda qiyin bo'lgan. Buni amalda ko'rishingiz mumkin Bu yerga. Siz maksimal element sonini (ni), (nc) so'zida kesilgan belgilar sonini va URL manzilini berishingiz mumkin. Haqiqiy tasmani disk raskadrovka o'zgaruvchisi bilan ham ko'rishingiz mumkin Bu yerga.

Ko'pgina RSS-lentalar haqiqatan ham "iflos" va XML faylidagi matnni mag'lubiyatga ishlov berish kodi bilan ajratishni talab qiladi (ugh!). Albatta, biz hali ham RSS-ning yoshligidamiz, shuning uchun hayron bo'lmayman. RSS texnik xususiyatlari haqida ko'proq o'qing Bu yerga.

Nihoyat, men kichkina marvaridga duch keldim. Yuklash uchun bepul ASP sinfini topdim. Bu biroz sekin, lekin men o'qiy olmaydigan lentani topmadim. Bu erda statik va dinamik versiya mavjud.

Ssenariyda juftlik yozuvlari. Qaytgan tavsifdagi ba'zi HTML teglarini tozalashim kerak edi. Men buni ozgina tozalash funktsiyasi bilan qildim:

Funksiyani olib tashlashHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Do while nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Agar nPos2> 0 Keyin strText = Chap (strText, nPos1) - 1) & Mid (strText, nPos2 + 1) Boshqa chiqish Do End Agar nPos1 = InStr (strText, ">") Loop RemoveHTML = strText End funktsiyasi

Men yana bir ozgina ozgina ozroq kod qo'shdim: Ba'zan men ko'proq yoki ozroq tavsifni ko'rsatishni xohlayman. Ammo, agar men shunchaki belgilar sonini cheklasam, unda so'zning o'rtasida tavsifni kesib tashlashim mumkin. Men buni qilishni xohlamayman!

Funksiyani uzish (strText, intChars) dim intLength dim j intLength = len (strText), agar intChars> intLength bo'lsa, u holda j = intChars uchun 0 qadam -1 ga qadar, agar o'rta (strText, j, 1) = "" bo'lsa, keyingi uchun j> agar chiqsangiz j> 0 keyin strText = left (strText, j-1) & "..." else strText = strText end if if end if Cutoff = strText End function

(Men ushbu yozuvda kodimni to'g'ri ko'rsatishda ba'zi muammolarga duch keldim ... ushbu funktsiyalarning birortasi bilan bog'liq muammolar bo'lsa, menga xabar bering!)

Tarmoqda yana bir nechta vositalarni ham ko'rdim. Bor
.NET versiyasi, ko'plab PHP versiyalari, bir tonna JavaScript versiyalari.

Xulosa qilish uchun umid qilamanki, RSS spetsifikatsiyalari yaxshilanishda davom etadi va haqiqiy lentalar barcha holatlarda XML standartlariga mos keladi. TypePad, WordPress va boshqalar kabi bepul dasturlar RSS funktsiyalarini yaxshilashi kerak. MySpace, Xanga, LiveJournal va boshqalar kabi qo'shimcha bloglar RSS funktsiyalarini yaxshilashi kerak. RSS kuchli ...Kris Baggott elektron pochta va RSS-da yaxshi asar yozdi. Menimcha, ularning funksionalligini birlashtirish ikkalasining ham ta'sirini oshirishi mumkin!

Siz nima deb o'ylaysiz?

Ushbu sayt spamni kamaytirish uchun Akismet-dan foydalanadi. Fikringiz ma'lumotlarining qanday ishlashini bilib oling.