Tänä viikonloppuna minut on liimattu kannettavaan tietokoneeseeni, joka etsii netistä verkkopohjaisia RSS-syötteenlukijoita. Syynä on, että halusin kirjoittaa asp RSS-syötteenlukijan, joka näyttäisi syötteen, jotta sisältö voitaisiin automaattisesti kaapata HTML-sähköpostiksi. Joten ihmisille, jotka haluavat varata osan sähköpostiuutiskirjeestään blogiin tai julkaisuartikkeleihin, se voidaan helposti sisällyttää. Koska JavaScript ei todellakaan näytä sisältöä, ennen kuin asiakas lataa ja suorittaa komentosarjan, lukuisat JavaScript RSS -selaimet eivät olleet hyödyllisiä. Tarvitsin palvelinpuolen RSS-syötteenlukijan.
Aloitin kirjoittamalla oman jäsentimen ASP: ssä MSXML-objektin avulla. Pystyin jäsentämään noin 75% RSS-syötteistä, mutta jotkut RSS-syötteiden löysät XML-määritykset osoittautuivat hyvin ohjelmoitaviksi. Voit nähdä sen toiminnassa tätä. Voit välittää enimmäismäärän kohteita (ni), sanassa leikattujen merkkien lukumäärän (nc) sekä URL-osoitteen. Voit myös nähdä varsinaisen syötteen virheenkorjausmuuttujalla tätä.
Monet RSS-syötteet ovat todella "likaisia" ja vaativat XML-tiedoston tekstin jäsentämistä merkkijonon manipulointikoodilla (ugh!). Tietenkin olemme edelleen RSS: n "nuoriso" verkossa, joten en ole yllättynyt. Lue lisää RSS-määrityksistä tätä.
Lopulta törmäsin pieneen helmiin. Löysin ilmaisen ladattavan ASP-luokan. Se on vähän hidas, mutta en ole löytänyt syötettä, jota se ei olisi voinut lukea. Minulla on staattinen versio täällä ja dynaaminen versio täällä.
Pari muistiinpanoa käsikirjoituksesta. Minun täytyi tyhjentää joitain HTML-tunnisteita palautetuista kuvauksista. Tein sen pienellä siivoustoiminnolla, jonka löysin:
Toiminto PoistaHTML (strText) Dim DimPOS1 Dim nPos2 nPos1 = InStr (strText, ">") Tee Vaikka nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Jos nPos2> 0 Sitten strText = Vasen (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Muut Exit Do End End Jos nPos1 = InStr (strText, ">") Silmukka PoistaHTML = strText End Funktio
Lisäsin myös toisen siistin koodin: Joskus haluan näyttää enemmän tai vähemmän kuvauksen. Jos kuitenkin rajoitan yksinkertaisesti merkkien määrää, voin leikata kuvauksen keskellä sanaa. En halua tehdä sitä!
Funktion raja-arvo (strText, intChars) himmeä intLength himmennetty j intLength = len (strText) jos intChars> intPituus sitten j = intChars arvoon 0 askel -1, jos puolivälissä (strText, j, 1) = "", poistu seuraavaksi, jos j> 0 sitten strText = vasen (strText, j-1) & "..." muut strText = strText loppu jos loppu jos Cutoff = strText lopetusfunktio
(Minulla oli joitain ongelmia koodin näyttämisessä oikein tässä merkinnässä ... kerro minulle, jos sinulla on ongelmia jommankumman näistä toiminnoista!)
Olen huomannut myös muutamia muita työkaluja verkossa. Tuolla on
. NET versio, monet PHP-versiot, paljon JavaScript-versioita.
Lopuksi toivon, että RSS-määrityksiä jatketaan edelleen ja että todelliset syötteet ovat kaikissa tapauksissa XML-standardien mukaisia. Ilmaisten sovellusten, kuten TypePad, WordPress, jne., On tarkennettava RSS-toimintojaan. Muiden blogien, kuten MySpace, Xanga, LiveJournal, jne., On parannettava RSS-toimintojaan. RSS ON tehokas…Chris Baggott kirjoitti mukavan teoksen Email vs. RSS. Luulen, että niiden toiminnallisuuden yhdistäminen voi lisätä molempien vaikutusta!