ASP RSS парсер, четец на емисии

Depositphotos 4651719 с

Този уикенд бях залепен за лаптопа си, търсейки в мрежата уеб-базирани четци на RSS емисии. Причината е, че исках да напиша asp RSS четец на емисии, който да показва емисията, така че съдържанието да може автоматично да се изстърже в HTML имейл. Така че за хората, които искат да резервират част от своя имейл бюлетин за своите статии в блога или публикацията, той може лесно да бъде включен. Тъй като JavaScript всъщност не показва съдържанието, докато клиентът не зареди и изпълни скрипта, множеството RSS браузъри на JavaScript не бяха полезни. Имах нужда от четец на RSS емисии от страна на сървъра.

Започнах с писането на собствен парсер в ASP с помощта на обекта MSXML. Успях да анализирам около 75% от RSS емисиите, правейки това, но някои от свободните XML спецификации на RSS емисиите се оказаха много трудни за програмиране. Можете да го видите в действие тук. Можете да предадете максималния брой елементи (ni), броя на отсечените знаци при думата (nc), както и URL адреса. Можете също така да видите действителната емисия с променлива за отстраняване на грешки тук.

Много RSS емисии наистина са доста „мръсни“ и изискват синтактичен анализ на текста в XML файла с код за манипулиране на низове (ъф!). Разбира се, все още сме в нашата „младост“ на RSS в мрежата, така че не съм изненадан. Прочетете повече за RSS спецификациите тук.

Накрая попаднах на малко скъпоценен камък. Намерих безплатен ASP клас за изтегляне. Малко е бавно, но не намерих емисия, която да не може да се прочете. Имам статична версия тук и динамична версия тук.

Няколко бележки по сценария. Трябваше да изчистя някои HTML тагове във върнатите описания. Направих това с малка функция за почистване, която открих:

Функция ПремахванеHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Правете докато nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Ако nPos2> 0 Тогава strText = Вляво (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Else Exit Do End If nPos1 = InStr (strText, ">") Loop RemoveHTML = strText End Function

Също така добавих още едно чисто малко код: Понякога може да искам да покажа повече или по-малко описание. Ако обаче просто огранича броя на знаците, може да отрежа описанието в средата на думата. Не искам да го правя!

Прекъсване на функцията (strText, intChars) dim intLength dim j intLength = len (strText) ако intChars> intLength тогава за j = intChars до 0 стъпка -1 ако средата (strText, j, 1) = "" след това излезте за следващия, ако j> 0 след това strText = ляво (strText, j-1) & "..." else strText = strText end if end if Cutoff = strText End Function

(Имах някои проблеми с правилното показване на кода си в този запис ... уведомете ме, ако имате проблеми с някоя от тези функции!)

Забелязах още доста инструменти в мрежата. Има
. NET версия, много PHP версии, много версии на JavaScript.

В заключение се надявам, че RSS спецификациите продължават да бъдат усъвършенствани и действителните емисии да отговарят на XML стандартите във всички случаи. Безплатните приложения като TypePad, WordPress и др. Трябва да усъвършенстват своята RSS функционалност. Допълнителни блогове като MySpace, Xanga, LiveJournal и др. Трябва да подобрят своята RSS функционалност. RSS Е мощен ...Крис Баггот написа хубаво парче за имейл срещу RSS. Мисля, че комбинирането на тяхната функционалност може да увеличи въздействието и на двете!

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.