Question

I have this code to parse an RSS feed but for some reason my catch for itemDownLink is never firing. Can someone explain why?

 public Channel parse(InputStream is) {

    RootElement root = new RootElement("rss");
    Element chanElement = root.getChild("channel");
    Element chanTitle = chanElement.getChild("title");
    Element chanLink = chanElement.getChild("link");
    Element chanDescription = chanElement.getChild("description");
    Element chanLastBuildDate = chanElement.getChild("lastBuildDate");
    Element chanDocs = chanElement.getChild("docs");
    Element chanLanguage = chanElement.getChild("language");

    Element chanItem = chanElement.getChild("item");
    Element itemTitle = chanItem.getChild("title");
    Element itemDescription = chanItem.getChild("description");
    Element itemLink = chanItem.getChild("link");
    Element itemDate = chanItem.getChild("pubDate");
    Element itemDownLink = chanItem.getChild("feedburner:origEnclosureLink");
}

Here is the catcher:

        itemDownLink.setEndTextElementListener(new EndTextElementListener() { 
        public void end(String body) {
            item.setDownloadLink(body);
        }
    });
Was it helpful?

Solution

You need to use the 2 parameter form of getChild and specify the feedburner uri (http://rssnamespace.org/feedburner/ext/1.0).

Element itemDownLink = chanItem.getChild("http://rssnamespace.org/feedburner/ext/1.0", "origEnclosureLink");
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top