Parserê RSS-yê ASP-ê, Xwendekarê Feed-ê

Depositphotos 4651719 s

Vê dawiya hefteyê ez hatime zeliqandin ku laptopa min li torê ji bo xwînerên RSS-ê yên tevn-gerîn digere. Sedem ev e ku min dixwest ez xwendevanek RSS RSS-ê binivîsim ku dê feed-ê nîşan bide da ku naverok bixweber di nav e-nameyek HTML-ê de were şopandin. Ji ber vê yekê ji bo mirovên ku dixwazin beşek ji nûçenameya xweya e-nameyê ji bo gotarên xwe yên Blog an Weşanê veqetînin, ew dikare bi hêsanî were navandin. Ji ber ku JavaScript di rastiyê de naverokê nîşan nade heya ku kiriyar nusxeyê bar dike û dimeşîne, pirraniya gerokên RSS yên JavaScript ne kêrhatî bûn. Min pêdivî bi xwendevanek RSS-ya server-side heye.

Min bi nivîsandina parserê xwe di ASP-ê de karanîna tiştê MSXML dest pê kir. Ez dikarim vê yekê bikim, li dor 75% ê RSS-ê parsê bikim, lê hin taybetmendiyên XML-yê yên li ser fezayên RSS-ê ji bo bernameyê pir dijwar derketin holê. Hûn dikarin wê di çalakiyê de bibînin vir. Hûn dikarin pirtirîn hêjmara tiştan (ni), hejmara tîpên ku li peyvê (nc) hatine qut kirin, û her weha URL jî derbas bikin. Di heman demê de hûn dikarin guherînek rasterast a bi guherbarek debugê jî bibînin vir.

Pir nûçeyên RSS-ê bi rastî pir 'qirêj' in û hewce dike ku di pelê XML-ê de nivîsa bi koda manipulasyona têl were parsekirin (ugh!). Bê guman, em hîn jî di torê de di 'ciwaniya' RSS-ya xwe de ne ji ber vê yekê ez ne ecêb mam. Li ser taybetmendiyên RSS-ê bêtir bixwînin vir.

Di dawiyê de, ez li gemarek piçûk rast hatim. Min dersek belaş a ASP-ê dît ku ez dakêşim. Hinekî hêdî ye, lê min feedek nedît ku ew nekaribe bixwîne. Min li vir versiyonek statîk û li vir guhertoyek dînamîk heye.

Li ser nivîsê cotek têbînî. Min hewce kir ku ez di navnîşên vegeriyayî de hin tagên HTML-ê paqij bikim. Min bi fonksiyonek paqijkirina piçûk a ku min dît wiya kir:

Fonksiyon RakirinaHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Dema ku nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Ger nPos2> 0 Hingê strText = Çep (strText, nPos) - 1) & Nîv (strText, nPos1 + 2) Wekî din Derketibe Heke NPos1 = InStr (strText, ">") Biqedîne Loop RakirinaHTML = Fonksiyona Dawî ya strText

Min şîfreyek piçûk a paqij a din jî zêde kir: Carinan, dibe ku ez dixwazim salixdanek kêm an zêde nîşan bikim. Lêbelê, heke ez bi tenê hejmara tîpan bi sînor bikim, wê hingê ez dikarim danasîna di nîvê peyvê de qut bikim. Ez naxwazim wiya bikim!

Qutkirina Fonksiyonê (strText, intChars) heke intChars> intLength hingê ji bo j = intChars heya 0 gavê -1 heke navîn (strText, j, 1) = "st" hingê int jirêde j intLength kêm j intLength = len (strText) = "" hingê heke j> 0 hingê strText = çep (strText, j-1) & "..." din strText = strText dawiya heke bidawî be Cutoff = strText Dawî Fonksiyon

(Di vê navnîşê de hin pirsgirêkên min bi verastkirina nîşankirina kodê min hebû… heke bi van an fonksiyonên we re pirsgirêkek heye bila min agahdar bikin!)

Min li ser torê jî çend heb amûrên din ferq kir. Heye
.TOR guhertoya, gelek guhertoyên PHP, tonek guhertoyên JavaScript.

Ji bo encamgirtinê, ez hêvî dikim ku taybetmendiyên RSS-ê bêne safîkirin û nûçeyên rastîn di hemî rewşan de bi pîvanên XML re ne. Pêdivî ye ku serîlêdanên belaş ên mîna TypePad, WordPress, û hwd karbidestiya RSS-ya xwe safî bikin. Pêdivî ye ku tevnvîsên din ên wekî MySpace, Xanga, LiveJournal, û hwd karbidestiya RSS-ya xwe baştir bikin. RSS IS hêzdar eChris Baggott li ser Email vs RSS perçeyek xweş nivîsand. Ez difikirim ku bihevra fonksiyoneliya wan dikare bandora herduyan jî zêde bike!

Hûn çi difikirin?

Ev malpera Akismet bikar tîne ku ji bo kêmkirina spam. Zêdetir agahdariya danûstandinên we çawa pêvajoy kirin.