ASP RSS elemző, hírolvasó

Depositphotos 4651719 s

Ezen a hétvégén ragaszkodtam a laptopomhoz, és webes RSS-hírolvasók után kutattam. Ennek oka az volt, hogy egy olyan asp RSS feedolvasót akartam írni, amely megjeleníti a hírcsatornát, így a tartalmat automatikusan HTML e-mailbe lehet másolni. Tehát azok számára, akik szeretnék fenntartani e-mailes hírlevelük egy részét a Blog vagy a Publikáció cikkei számára, könnyen beilleszthető. Mivel a JavaScript addig nem jeleníti meg a tartalmat, amíg az ügyfél be nem tölti és végrehajtja a szkriptet, a JavaScript RSS böngészők sokasága nem volt hasznos. Szerveroldali RSS-hírolvasóra volt szükségem.

Először saját elemzőt írtam ASP-be az MSXML objektum segítségével. Az RSS-hírcsatornák körülbelül 75% -át tudtam elemezni ezzel, de az RSS-hírcsatornákon található laza XML-előírások némelyike ​​nagyon nehezen programozhatónak bizonyult. Láthatja működés közben itt. Átadhatja az elemek maximális számát (ni), a szónál levágott karakterek számát (nc), valamint az URL-t. A tényleges hírcsatornát egy debug változóval is megtekintheti itt.

Sok RSS-hírcsatorna valóban meglehetősen „piszkos”, és megköveteli az XML fájl szövegének elemzését karakterlánc-manipulációs kóddal (ugh!). Természetesen még mindig az RSS fiataljaink vagyunk a neten, így nem csodálkozom. További információ az RSS specifikációkról itt.

Végül rábukkantam egy kis gyöngyszemre. Találtam egy ingyenes ASP osztályt letöltésre. Kicsit lassú, de nem találtam olyan hírcsatornát, amelyet ne tudott volna elolvasni. Van itt egy statikus és egy dinamikus verzióm.

Egy pár jegyzet a forgatókönyvről. Ki kellett tisztítanom néhány HTML-címkét a visszaküldött leírásokban. Megtettem egy kis takarítási funkcióval, amelyet találtam:

Funkció RemoveHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Do Do nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Ha nPos2> 0 Akkor strText = Bal (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Egyéb Kilépés a Vége Ha nPos1 = InStr (strText, ">") hurok eltávolításaHTML = strText Vége Funkció

Hozzáadtam még egy apró kis kódot is: Néha előfordulhat, hogy kisebb-nagyobb leírást szeretnék megjeleníteni. Ha azonban egyszerűen korlátozom a karakterek számát, akkor a szó közepén levághatom a leírást. Nem akarok ilyet csinálni!

Funkció Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) ha intChars> intLength, akkor j = intChars esetén 0-ig -1, ha közepe (strText, j, 1) = "", akkor lépjen ki a következőre, ha j> 0, majd strText = balra (strText, j-1) és "..." másként strText = strText vége, ha vége, ha Cutoff = strText Vége Funkció

(Volt néhány problémám a kód helyes megjelenítésével ebben a bejegyzésben ... tudassa velem, ha problémája van valamelyik funkcióval!)

Még jó néhány eszközt észleltem a neten. Van egy
. NET verzió, sok PHP verzió, rengeteg JavaScript verzió.

Összegzésképpen remélem, hogy az RSS specifikációk tovább finomodnak, és a tényleges hírcsatornák minden esetben megfelelnek az XML szabványoknak. Az olyan ingyenes alkalmazásoknak, mint a TypePad, a WordPress stb., Finomítaniuk kell RSS-funkcióikat. További blogoknak, mint a MySpace, a Xanga, a LiveJournal stb., Javítaniuk kell RSS-funkcióikat. Az RSS erős ...Chris Baggott írt egy szép cikket az Email vs. RSS-ről. Úgy gondolom, hogy funkcionalitásuk kombinálása növelheti mindkettő hatását!

Mit gondolsz?

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.