اے ایس پی آر ایس ایس پارسر ، فیڈ ریڈر

Depositphotos 4651719 s

اس ہفتے کے آخر میں میں ویب پر مبنی آر ایس ایس فیڈ ریڈروں کے لئے نیٹ تلاش کرتے ہوئے اپنے لیپ ٹاپ پر چپک گیا ہوں۔ اس کی وجہ یہ ہے کہ میں ایک ایس ایس پی آر ایس ایس فیڈ ریڈر لکھنا چاہتا تھا جو فیڈ کو ظاہر کرے گا تاکہ خود بخود اس مواد کو کسی HTML ای میل میں کھوج دیا جاسکے۔ لہذا ان لوگوں کے لئے جو اپنے بلاگ یا اشاعت کے مضامین کے لئے اپنے ای میل نیوز لیٹر کا ایک حصہ محفوظ رکھنا چاہتے ہیں ، آسانی سے اس میں شامل ہوسکتے ہیں۔ چونکہ جاوا اسکرپٹ اصل میں اس وقت تک مواد کو ظاہر نہیں کرتا ہے جب تک مؤکل اسکرپٹ کو لوڈ اور عمل میں نہیں لاتا ہے ، لہذا جاوا اسکرپٹ آر ایس ایس براؤزر کی بہتات کارآمد نہیں تھی۔ مجھے سرور سائیڈ آر ایس ایس فیڈ ریڈر کی ضرورت ہے۔

میں نے MSXML آبجیکٹ کا استعمال کرکے اے ایس پی میں اپنا پارسر لکھ کر شروع کیا۔ میں آر ایس ایس کے تقریبا 75٪ فیڈوں کی تجزیہ کرنے میں کامیاب تھا ، لیکن آر ایس ایس فیڈز میں سے کچھ ڈھیلے ایکس ایم ایل تصریحات کو پروگرام کرنا بہت مشکل ثابت ہوا۔ آپ اسے عمل میں دیکھ سکتے ہیں یہاں. آپ آئٹمز کی زیادہ سے زیادہ تعداد (نی) ، لفظ (این سی) سے منحرف حروف کی تعداد کے ساتھ ساتھ یو آر ایل بھی پاس کرسکتے ہیں۔ آپ اصل فیڈ کو ڈیبگ متغیر کے ساتھ بھی دیکھ سکتے ہیں یہاں.

آر ایس ایس کے بہت سے فیڈز واقعی کافی 'گندا' ہیں اور XML فائل میں اسٹرنگ ہیرا پھیری کوڈ (ugh!) کے ساتھ متن کو پارس کرنے کی ضرورت ہوتی ہے۔ یقینا ، ہم نیٹ پر اب بھی اپنے آر ایس ایس کے 'جوانی' میں ہیں لہذا مجھے حیرت نہیں ہے۔ آر ایس ایس کی خصوصیات کے بارے میں مزید پڑھیں یہاں.

آخر میں ، میں نے ایک چھوٹا سا منی پار کیا۔ مجھے ڈاؤن لوڈ کرنے کے لئے ایک مفت ASP کلاس ملا۔ یہ تھوڑا سا آہستہ ہے ، لیکن مجھے کوئی ایسی فیڈ نہیں ملی ہے جو اسے پڑھنے سے قاصر تھی۔ مجھے یہاں ایک مستحکم ورژن اور ایک متحرک ورژن ملا ہے۔

اسکرپٹ پر ایک جوڑے کے نوٹ۔ مجھے واپس کی گئی تفصیل میں کچھ HTML ٹیگ صاف کرنے کی ضرورت نہیں تھی۔ میں نے صفائی کے ایک چھوٹے سے فنکشن کے ساتھ یہ کام کیا۔

فنکشن ریموٹ ایچ ٹی ایم ایل (strText) دیم nPos1 ڈم nPos2 nPos1 = InStr (strText ، ">") کرتے وقت nPos1> 0 nPos2 = InStr (nPos1 + 1، strText، ">") اگر nPos2> 0 پھر strText = بائیں (strText ، nP) - 1) اور وسط (strText ، nPos1 + 2) اگر NPos1 = InStr (strText ، ">") لوپ ہٹائیں ایچ ٹی ایم ایل = strText اختتامی تقریب

میں نے صاف ستھرا تھوڑا سا کوڈ بھی شامل کیا: بعض اوقات ، میں زیادہ سے زیادہ وضاحت ظاہر کرنا چاہتا ہوں۔ تاہم ، اگر میں محض حرفوں کی تعداد کو محدود کردوں تو میں لفظ کے وسط میں اس تفصیل کو منقطع کرسکتا ہوں۔ میں ایسا نہیں کرنا چاہتا!

فنکشن کٹ آف (strText، intChars) دِم انٹ لینتھتھ ڈِم j intLength = len (strText) اگر intChars> intLength تو j = intChars کے لئے 0 مرحلہ -1 اگر وسط (strText، j، 1) = "" تو اگلے کے لئے باہر نکلیں اگر j> 0 پھر strText = بائیں (strText ، j-1) اور "..." اور strText = strText اختتام اگر اختتام ہوتا ہے تو کٹ آف = strText اختتامی فنکشن

(اس اندراج میں اپنے کوڈ کو صحیح طریقے سے ظاہر کرنے میں مجھے کچھ دشواری تھی… مجھے بتائیں کہ اگر آپ کو ان میں سے کسی ایک کام میں دشواری ہے تو!)

میں نے نیٹ پر بھی کچھ اور ٹولز کو نوٹ کیا ہے۔ وہاں ایک
.NET ورژن ، بہت سے پی ایچ پی ورژن ، جاوا اسکرپٹ ورژن کی ایک ٹن.

نتیجہ اخذ کرنے کے ل I ، میں امید کرتا ہوں کہ آر ایس ایس کی وضاحتیں بہتر ہوجاتی رہیں اور اصل فیڈز ہر صورت میں XML معیارات کی تعمیل کرتے ہیں۔ ٹائپ پیڈ ، ورڈپریس ، جیسے مفت ایپلی کیشنز کو اپنی RSS فعالیت کو بہتر بنانے کی ضرورت ہے۔ اضافی بلاگ جیسے مائ اسپیس ، زانگا ، لائیو جرنل ، وغیرہ کو اپنی RSS فعالیت کو بہتر بنانے کی ضرورت ہے۔ آر ایس ایس طاقتور ہے…کرس بیگگوٹ آر ایس ایس بمقابلہ ای میل پر ایک عمدہ ٹکڑا لکھا تھا۔ میرے خیال میں ان کی فعالیت کو یکجا کرنے سے دونوں کے اثر میں اضافہ ہوسکتا ہے!

آپ کا کیا خیال ہے؟

سپیم کو کم کرنے کے لئے یہ سائٹ اکزمیت کا استعمال کرتا ہے. جانیں کہ آپ کا تبصرہ کس طرح عملدرآمد ہے.