ASP आरएस पार्सर, फिड रिडर

Depositphotos 4651719 s

यस साताको अन्त्यमा म वेबमा आधारित आरएसएस फिड पाठकहरूको लागि नेट खोजीमा मेरो ल्यापटपमा चिप्लिएको छु। कारण यो छ कि म एपीएस आरएसएस फिड रिडर लेख्न चाहान्छु जुन फिड प्रदर्शन गर्दछ ताकि सामग्री स्वचालित रूपमा HTML ईमेलमा स्क्र्याप हुन सक्छ। त्यसैले मान्छे जो आफ्नो ब्लग वा प्रकाशन लेख को लागी आफ्नो ईमेल न्यूजलेटर को एक हिस्सा आरक्षित गर्न चाहान्छन्, यो सजिलै संग समावेश गर्न सकिन्छ। जाभास्क्रिप्टले वास्तवमा सामग्री प्रदर्शन गर्दैन जबसम्म क्लाइन्ट लोड हुँदैन र स्क्रिप्ट कार्यान्वयन हुँदैन, जाभास्क्रिप्ट आरएसएस ब्राउजरहरूको अधिकता उपयोगी थिएन। मलाई सर्वर साइड आरएसएस फिड रिडर चाहिएको थियो।

मैले एएसपीमा मेरो आफ्नै पार्सर लेखेर MSXML वस्तु प्रयोग गरेर सुरू गरें। म आरएसएस फिडहरूको करिब 75 XNUMX% पार्स गर्न सक्षम भएँ, तर आरएसएस फिडमा केहि ढीला XML विशिष्टताहरू कार्यक्रम गर्न धेरै गाह्रो भएको प्रमाणित भयो। तपाईं यसलाई कार्यमा देख्न सक्नुहुन्छ यहाँ। तपाईं आईटमहरू (एनआई) को अधिकतम संख्या, शब्द (NC) मा काटिएको अक्षरहरूको संख्या, साथै यूआरएल पास गर्न सक्नुहुनेछ। तपाईं डिबग भेरिएबलको साथ वास्तविक फिड पनि हेर्न सक्नुहुन्छ यहाँ.

धेरै RSS फिडहरू वास्तवमै 'गन्दा' हुन् र XML फाईलमा स्ट्रि man मेनिपुलेशन कोड (ugh!) सँग पाठ पार्स गर्न आवश्यक पर्दछ। निस्सन्देह, हामी अझै नेटमा हाम्रो आरएसएसको 'युवावस्था' मा छौं त्यसैले म अचम्म मान्दिन। आरएसएस विनिर्देशको बारेमा अधिक पढ्नुहोस् यहाँ.

अन्तमा, म एक सानो रत्न भेट्टाए। मैले डाउनलोड गर्नका लागि नि: शुल्क एएसपी कक्षा पाएँ। यो केही अलि ढिलो छ, तर मैले फेड फेला पारेन जुन यो पढ्न असमर्थ थियो। मैले यहाँ एक स्थिर संस्करण र यहाँ एक गतिशील संस्करण मिल्यो।

लिपिमा एक जोडी नोट। मैले फर्केका विवरणहरूमा केही HTML ट्यागहरू खाली गर्नु आवश्यक पर्‍यो। मैले गरेको सानो सफा प्रकार्यको साथ मैले गरेँ:

प्रकार्य हटाउनुहोस् HTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") जबकि गर्नुहोस् NPos1> ० nPos0 = InStr (nPos2 + १, strText, ">") यदि nPos1> ० तब strText = LeP (str1 Txt, n) - १) र मिड (strText, nPos2 + १) अर्को निस्कनुहोस् अन्त्य हुन्छ यदि nPos0 = InStr (strText, ">") लूप हटाउनुहोस् HTML = strText समाप्त समारोह

मैले कोडको अर्को स्वच्छ थोरै थपेँ: कहिलेकाँही, म वर्णनको बढी वा कम प्रदर्शन गर्न चाहान्छु। जहाँसम्म, यदि म केवल अक्षरहरूको संख्या सीमित गर्दछु, तब म शब्दको बिचमा विवरण काट्छु। म त्यो गर्न चाहन्न!

प्रकार्य कटऑफ (strText, intChars) डिम intLength मंद j intLength = len (strText) यदि intChars> intLength तो j = intChars को लागी ० चरण -१ मा यदि मध्य (strText, j, १) = "" त्यसपछि अर्कोको लागि बाहिर निस्किनुहोस् यदि j> ० तब strText = बाँया (strText, j-0) & "..." अन्य strText = strText अन्त्य यदि Cutoff = strText अन्त समारोह

(यस प्रविष्टिमा मेरो कोड सहि प्रदर्शन गर्नका लागि मलाई केही समस्याहरू थिए ... मलाई थाहा दिनुहोस् यदि तपाईंलाई यी कुनै पनि प्रकार्यसँग समस्या छ भने!)

मैले नेटमा केहि अधिक उपकरणहरू पनि याद गरें। त्यहाँ एउटा
.NET संस्करण, धेरै PHP संस्करणहरू, जाभास्क्रिप्ट संस्करणहरूको एक टन।

निष्कर्षमा, म आशा गर्दछु कि आरएसएस विशिष्टताहरू परिष्कृत हुन जारी रहनेछ र वास्तविक फीडहरू सबै मामिलाहरूमा XML मानकहरूको पालना गर्दछ। नि: शुल्क अनुप्रयोगहरू जस्तै टाइपप्याड, वर्डप्रेस, आदि आफ्नो आरएसएस कार्यक्षमता परिष्कृत गर्न आवश्यक छ। थप ब्लगहरू जस्तै माइस्पेस, जanga्गा, लाइभ जर्नल, आदि। उनीहरूको आरएसएस कार्यक्षमता सुधार गर्न आवश्यक छ। आरएसएस शक्तिशाली छ ...क्रिस बगगट ईमेल बनाम आरएसएसमा एउटा राम्रो टुक्रा लेख्यो। मलाई लाग्छ उनीहरूको कार्यक्षमता संयोजनले दुबैको प्रभाव बढाउन सक्छ!

तिम्रो के बिचार छ?

यो साइट स्प्याम कम गर्न Akismet को उपयोग गर्दछ। जान्नुहोस् कि तपाईंको डेटा कसरी संसाधित छ.