ASP RSS талдоочу, каналдын окурманы

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 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 Function

Мен дагы бир тыкан кодду коштум: Кээде, мен сүрөттөөнүн аздыр-көптүрүн көрсөткүм келиши мүмкүн. Бирок, мен жөн гана белгилердин санын чектеп койсом, анда сөздүн ортосундагы сүрөттөөнү кесип ташташым мүмкүн. Мен андай кылгым келбейт!

Функция 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 if end if Cutoff = strText End Function

(Бул жазууда өз кодумду туура чагылдырууда бир аз кыйынчылыктар болду ... ушул функциялардын экөөсүндө тең көйгөйлөр бар болсо, мага билдирип коюңуз!)

Желеде дагы бир нече шаймандарды байкадым. Бар
.NET версиясы, көптөгөн PHP версиялары, бир тонна JavaScript нускасы.

Жыйынтыктап айтканда, RSS техникалык мүнөздөмөлөрү дагы эле өркүндөтүлүп, чыныгы каналдар бардык учурларда XML стандарттарына шайкеш келет деп ишенем. TypePad, WordPress ж.б. сыяктуу акысыз тиркемелер RSS функциясын өркүндөтүшү керек. MySpace, Xanga, LiveJournal жана башка ушул сыяктуу кошумча блогдор RSS функциясын өркүндөтүшү керек. RSS күчтүү…Крис Бэгготт Электрондук почтага жана RSSке жагымдуу чыгарма жазган. Алардын функционалдуулугун айкалыштыруу экөөнүн тең таасирин күчөтөт деп ойлойм!

Эмне деп ойлойсуң?

Бул сайт спам азайтуу Akismet колдонот. Сиздин комментарий маалымат кандайча иштелишин Үйрөнүү.