Portál AbcLinuxu, 3. května 2025 10:36
Právě si hraju s knihovnou Rome, která umí číst a generovat RSS a ATOM ve všech formátech. Chová se přesně tak, jak jsem si vysnil. Má jednotné API nezávislé na verzi či formátu, zvládá více formátů jak při čtení, tak při zápisu, je elegantní a maličká a ke všemu je zběsile rychlá!
Malá ukázka kódu, který na Abíčku čte RSS. Do Rome patří SyndFeed, SyndEntry a XmlReader.
protected List parseRSS(ServerInfo definition) { List result = new ArrayList(); SyndFeedInput input = new SyndFeedInput(); try { URL url = new URL(definition.url); SyndFeed feed = input.build(new XmlReader(url)); List items = feed.getEntries(); if ( items==null ) return result; for (Iterator iter = items.iterator(); iter.hasNext();) { SyndEntry entry = (SyndEntry) iter.next(); String title = entry.getTitle(); if ( title.length()>TEXT_LENGTH ) title = title.substring(0,TEXT_LENGTH); String url = fixAmpersand(entry.getLink()); Link link = new Link(); link.setUrl(url); link.setText(title); result.add(link); } } catch (IOException e) { log.error("IO problems for "+definition.url+": "+e.getMessage()); } catch (Exception e) { log.error("Cannot parse links from "+definition.url, e); } return result; }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.