5 Aralık 2013 Perşembe

JAVA DA RSS OKUMA

RSS çeşitli internet siteleri tarafından yayınlanan haber vb. içeriğin tek bir ortamdan topluca izlenebilmesine olanak sağlayan yeni bir içerik besleme yöntemidir. RSS – Real Simple Syndication, RDF Site Summary veya RichSite Summary (Zengin Site Özeti) kelimelerinin baş harflerinden oluşan kısaltmadır. XML biçiminde olan RSS dosyaları ilk olarak NetScape firması tarafından geliştirilmeye başlanmıştır. RSS dosyalarının kullanımı her geçen gün artarak yaygınlaşmaktadır.
RSS yöntemini destekleyen sitelerin hazırladıkları XML biçimli dosyalara bir çok programla erişmek mümkündür. XML okuyucusu olan bu programlar, web gezgini veya e-posta istemcisi olabileceği gibi sadece RSS içeriği izlemek için hazırlanan masaüstü programları da olabilir.
İşte biz de bu yazımızda bir RSS linkinden gerekli bilgilerin nasıl çekildiğini öğreneceğiz.
RSS dosyalarında ki xml tag leri genelde aynıdır.Bunlar "title","content","date" ilh.
Tagler genelde aynı olduğundan,Java da RSS okuma işlemi için iki tane kütüphane yazılmıştır.Bu iki kütüphaneyi de projemize eklememiz gerekir.Bu kütüphaneler JDOM ve rome kütüphaneleridir.JDOM u buradan , rome kütüphanesini ise buradan indirebilirsiniz.
Bu kütüphaneleri indirip projemize ekledikten sonra artık kodlamaya başlayabiliriz demektir.RSS linki olarak kendi blogumun rss feed ini kullandım.


BlogItems.java

public class BlogItems implements Serializable {

    private String title;
    private String content;
    private String date;

    public BlogItems(String title, String content, String date) {
        this.title = title;
        this.content = content;
        this.date = date;
    }


public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }
}



BlogVeriler.java

public class BlogVeriler {

    private List<BlogItems> blogItems = new ArrayList<BlogItems>();
    private String url = "http://mesutemre.blogspot.com/feeds/posts/default?alt=rss";

    public List<BlogItems> getBlogItems() {
        return blogItems;
    }
    public void setBlogItems(List<BlogItems> blogItems) {
        this.blogItems = blogItems;
    }
    public void verileriGetir() {
        try {
            URLConnection feedUrl = new URL(url).openConnection();
            SyndFeedInput input = new SyndFeedInput();
            SyndFeed feed = input.build(new com.sun.syndication.io.XmlReader(feedUrl) {
            });
            List<SyndEntry> feedList = feed.getEntries();
            int feedSize = feedList.size();
            for (int i = 0; i < feedSize; i++) {
                SyndEntry entry = (SyndEntry) feedList.get(i);
                String title = entry.getTitle();
                String content = entry.getDescription().getValue();
                String date = entry.getPublishedDate().toString();
                blogItems.add(new BlogItems(title, content, date));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

Hiç yorum yok:

Yorum Gönder