Pokud někdy budete mít potřebu pracovat v Javě s RSS, tak se nabízí velice dobré řešení ve formě otevřené knihovny Informa. Je to výborná knihovna, a to i přesto, že se ještě nenachází ve stabilní verzi. Díky této knihovně můžete pracovat s RSS mnoha způsoby. Obsahuje mnoho tříd a metod pro práci s RSS soubory. Díky knihovně Informa budete moci RSS nejen číst, ale i vytvářet a provádět s nimi další operace.
Knihovna Informa se v nynější době nachází ve verzi 0.7 (Aplha2). Z verze by se dalo usoudit, že nebude příliš stabilní, ale já jsem s ní poměrně spokojený.
Stahovat aktuální verzi můžete z http://sourceforge.net
Zde je dobře zpracovaný JavaDocs - http://informa.sourceforge.net/apidocs/index.html
Jak jsem již uvedl na začátku článku - tato knihovna je určena pro práci s RSS. Zde si ukážeme, jak by mohla vypadat metoda, která by vypsala RSS z URL, které by jsme metodě předaly jako parametr.
Takto by metoda mohla vypadat:
/*********************
* rssScannerExample *
*********************
* .......................
* Metoda demonstrujici
* vypis RSS kanalu pomoci
* knihovny Informa
* .......................
*/
public void rssScannerExample(String url) {
//zakladni objekt pro dalsi operace
ChannelBuilder factory = new ChannelBuilder();
//blok kodu s odchytavanim vyjimek
try {
//vytvoreni kanalu
Channel kanal = (Channel) FeedParser.parse(factory, url);
//nazev kanalu
String nazev = kanal.getTitle();
//popis kanalu
String popis = kanal.getDescription();
//vypis nazvu a popisu kanalu
System.out.println("Nazev kanalu: " + nazev);
System.out.println("Popis kanalu: " + popis);
//vypsani jednotlivych titulku clanku i s popisem
for(Object obj: kanal.getItems()) {
//vytvori objekt daneho oddilu
Item oddil = (Item) obj;
//nazev aktualni polozky
String pnazev = oddil.getTitle();
//popis polozky
String ppopis = oddil.getDescription();
//vypsani
System.out.println("-----\n" + pnazev + ": " + ppopis);
}
} catch (Exception ex) {
System.err.println(ex);
}
}
Myslím, že je zbytečné tento kód dále rozvádět, protože je hodně okomentován. Případné nejasnosti se dají vyčíst v JavaDocs.
Při psaní této metody jsem se lehce inspiroval kódem z knížky Java na maximum, kde právě knihovnu Informa částěčně vysvětlují.
