تعلم كيفية قراءة روابط تغذية المواقع RSS & Atom فى تطبيقات الجافا بإستخدام المكتبة Rome

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية قراءة روابط تغذية المواقع RSS & Atom فى تطبيقات الجافا بإستخدام المكتبة Rome

مُساهمة من طرف أحمد مناع في الأربعاء يناير 15, 2014 10:24 am

بسم الله الرحمن الرحيم 

_ أهلا وسهلا بكم إخوانى الكرام ...درس اليوم عن كيفية قراءة روابط تغذية المواقع  RSS & Atom وذلك من خلال المكتبة Rome وهى مكتبة مفتوحة المصدر لتحليل وتوليد ونشر وقراءة روابط تغذية المواقع RSS و Atom بكل سهولة و يسر

أولا : مفهوم روابط التغذية  RSS & Atom

_خدمة RSS هي عبارة عن وسيلة سهلة تمكنك من الحصول على آخر الأخبار فور ورودها على مواقعك المفضلة على شبكة الإنترنت. فبدلاً من فتح صفحات المواقع والبحث عن المواضيع الجديدة، فإن خدمة RSS تخطرك بما يستجد من أخبار ومواضيع على تلك المواقع فور نشرها.

_أما Atom فهى خطوط مماثلة من RSS فهى نوع آخر من حقول البيانات وتختلف في بعض الجوانب عنها فى نوع البروتوكول

ثانيا :متطلبات العمل لقراءة روابط التغذية  RSS & Atom

1_حتى نستطيع كتابة الاكواد اللازمة لقراءة روابط التغذية  RSS & Atom من خلال المكتبة Rome يجب علينا الاتى :

تحميل الملف rome-0.8.jar 
تحميل الملف jdom-b10.jar

2_ قم بوضع الملف فى مجلد التطبيق الرئيسى CLASSPATH ثم قم بادراج الملفين الى التطبيق من خلال تحديد ايقونة المشروع ثم النقر يمين ثم أختيار الامر add jar/folder كما فى الشكل التالى :


ثالثا :كتابة الشفرات اللازمة

1_ فى البداية سنقوم باستيراد مكتبات العمل اللازمة على النحو التالى :

الرمز:

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
 
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
import com.sun.syndication.io.FeedException;

2_ وكما ترون من الكود اعلاه فان المكتبة rome تحتوى على الفئة com.sun.syndication.feed.synd.SyndFeed والتى تستخدم فى قراءة روابط التغذية و لا يحتاج المطور إلا الى السطرين البرمجين التاليين لفعل ذلك :

الرمز:
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build (new XmlReader (feedUrl));

فقط انشاء مثيل جديد من الكائن SyndFeedInput مع تمرير رابط التغذية الية وانشاء الكائن SyndFeed لقراءة رابط التغذية

3_ واليكم كود كامل :

الرمز:
public class Test {
    public static void main(String[] args) throws MalformedURLException, IOException, IllegalArgumentException, FeedException {
      
       URL url  = new URL("http://egy-tech.forumegypt.net/feed/");
    XmlReader reader = null;
    
    try {
      
      reader = new XmlReader(url);
      SyndFeed feed = new SyndFeedInput().build(reader);
      System.out.println("Feed Title: "+ feed.getAuthor());
 
     for (Iterator i = feed.getEntries().iterator(); i.hasNext();) {
        SyndEntry entry = (SyndEntry) i.next();
        System.out.println(entry.getTitle());
            }
        } finally {
            if (reader != null)
                reader.close();
        }
    
            
    }
}

_ يرجى ملاحظة أننا استخدمنا حلقة تكرارية للحصول على كل عناصر رابط التغذية باستخدام الاسلوب  feed.getEntries و النتيجة كما يلى :



والى اللقاء فى درس جديد إن شاء الله تعالى 

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية قراءة روابط تغذية المواقع RSS & Atom فى تطبيقات الجافا بإستخدام المكتبة Rome

مُساهمة من طرف زهراء في الأربعاء يناير 15, 2014 11:48 am


جزاكم الله خيرا اخى احمد ...لكن عندى سؤال هل يمكنك كتابة المخرجات بتنسيق html ?

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى