كيفية الحصول على RSS أو عنوان URL لتغذية الذرة من Blogurl
سؤال
كيف يمكنني الحصول على عنوان URL للتغذية (RSS أو ATOM) من URL المدونة على سبيل المثال:- http://anirudhagupta.blogspot.com/فكيف يمكنني الحصول على خلاصته ديناميكيًا بواسطة C#
أقول كيف يمكنني الحصول على مدونة Feedurl باستخدام Regex و C#
المحلول
يمكن أن تختلف خلاصات RSS مع ما تريد أن تنظر إليه على وجه التحديد ، ولكن بالنسبة إلى Blogspot عادة ما يكون الأمر كذلك
Blogn/تغذية/منشورات/افتراضي IE. http://anirudhagupta.blogspot.com/feeds/posts/default
إذا كنت تستخدم VS 2008 ، فيمكنك استخدام كائن SyndicationFeed لقراءة كل من RSS و Atom Feeds. (أفترض أن هذا ما تريد فعله عندما تقول "احصل على خلاصته ديناميكيًا")
XmlReader reader = XmlReader.Create(feedUriString);
SyndicationFeed feed = SyndicationFeed.Load(reader);
foreach (SyndicationItem item in feed.Items)
{
//your code for rendering each item
}
http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.aspx http://jimleonardo.blogspot.com/2009/02/jimleocom-is-back-some-how-to.html
نصائح أخرى
عند زيارة صفحة الجذر للموقع ، أي. http://myblog.com/ يجب أن تجد سمة رابط في الرأس ، شيء مثل:
<link rel="alternate" type="application/rss+xml" title="MyBlog RSS Feed" href="http://feeds.feedburner.com/MyBlog" />
الآن ، لا يوجد أي موقع مضمون أن يكون هذا الرابط في الرأس ، ولكن إذا أرادوا أن يظهر شعار RSS الصغير في Firefox أو Internet Explorer عندما يزور المستخدمون موقعهم ، فربما أضافوا هذا الخط. WordPress يفعل ذلك افتراضيا.
ملاحظة: أمثلة بلدي هي مجرد أمثلة وهمية ، وليس المواقع الحقيقية. ولكن انظر فقط إلى مصدر عدد قليل من المدونات التي تعرفها ، ويجب أن ترى علامة ارتباط مثل هذا.
يستخدم WebRequest
لقراءة البيانات ، ومن Headers
ستعرف نوع المحتوى ، إذا كان content-type
هو text/xml
, ، يمكنك فقط استخدام XmlReader لقراءته ، ولكن إذا كان content-type
هو text/html
, ، قد تحتاج إلى القيام بالمزيد من العمل.
على سبيل المثال ، العنوان هو http://myblog.com, ، ليس http://myblog.com/feed/ هذا ما تريده. لذلك تحتاج إلى العثور على عنوان RSS من علامة ارتباط الصفحة الافتراضية ، فإن علامة الارتباط مثل هذا:
<link rel="alternate" type="application/rss+xml" title="RSS" href="/rss"/ >
للعثور على رابط RSS ، يمكنك استخدامه Microsoft HTML Object Library
, ، احصل على علامة الارتباط ، ثم استخدم obj.getAttribute("href")
طريقة للحصول على العنوان النسبي.