It handles all RSS versions without loosing information.
For RSS1.0 it supports Dublin Core and Syndication modules. Note that those modules currently support simple syntax format only.
@author Alejandro Abdelnur
9899100101102103104105106107108109110111112113114
* @return the parsed RSSItem bean. */ @Override protected Item parseItem(Element rssRoot, Element eItem) { Item item = super.parseItem(rssRoot, eItem); // Parse the pub date String pubDate = eItem.getChildText("pubDate", getRSSNamespace()); if (StringUtils.isNotEmpty(pubDate)) { Date date = DateParser.parseDate(pubDate); if (date != null) item.setPubDate(date); } return item; }
333435363738394041424344
protected PlanetRSS091NParser(String type) { super(type); } protected Item parseItem(Element rssRoot,Element eItem) { Item item = super.parseItem(rssRoot, eItem); Element e = eItem.getChild("pubDate",getRSSNamespace()); if (e!=null) { item.setPubDate(DateParser.parseRFC822(e.getText())); } return item; }
protected PlanetRSS091UParser(String type) { super(type); } protected Item parseItem(Element rssRoot,Element eItem) { Item item = super.parseItem(rssRoot, eItem); Element e = eItem.getChild("pubDate",getRSSNamespace()); if (e!=null) { item.setPubDate(DateParser.parseRFC822(e.getText())); } return item; }
114115116117118119120121122123124125126
image.setDescription(sImage.getDescription()); return image; } protected Item createRSSItem(SyndEntry sEntry) { Item item = super.createRSSItem(sEntry); SyndContent sContent = sEntry.getDescription(); if (sContent!=null) { item.setDescription(createItemDescription(sContent)); } return item; }
9293949596979899100101102103104
373839404142434445
syndEntry.setPublishedDate(item.getPubDate()); //c return syndEntry; } protected Item createRSSItem(SyndEntry sEntry) { Item item = super.createRSSItem(sEntry); item.setPubDate(sEntry.getPublishedDate()); //c return item; }
136137138139140141142143144145146
} return list; } protected Item createRSSItem(SyndEntry sEntry) { Item item = new Item(); item.setModules(ModuleUtils.cloneModules(sEntry.getModules())); item.setTitle(sEntry.getTitle()); item.setLink(sEntry.getLink()); return item; }
737475767778798081828384858687888990919293949596979899
} return channel; } protected Item createRSSItem(SyndEntry sEntry) { Item item = super.createRSSItem(sEntry); item.setAuthor(sEntry.getAuthor()); //c Guid guid = null; String uri = sEntry.getUri(); if (uri!=null) { guid = new Guid(); guid.setPermaLink(false); guid.setValue(uri); } else { String link = sEntry.getLink(); if (link!=null) { guid = new Guid(); guid.setPermaLink(true); guid.setValue(link); } } item.setGuid(guid); return item; }
71727374757677787980818283
Channel channel = (Channel) super.createRealFeed(type,syndFeed); return channel; } protected Item createRSSItem(SyndEntry sEntry) { Item item = super.createRSSItem(sEntry); SyndContent sContent = sEntry.getDescription(); if (sContent!=null) { item.setDescription(createItemDescription(sContent)); } return item; }
59606162636465666768697071
} return syndCats; } protected Item createRSSItem(SyndEntry sEntry) { Item item = super.createRSSItem(sEntry); List sCats = sEntry.getCategories(); //c if (sCats!=null) { item.setCategories(createRSSCategories(sCats)); } return item; }