I'm trying to loop through Atom feed entries, and get the title attribute lets say, I found this article, I tried this snipped of code :
for (final Iterator iter = feeds.getEntries.iterator();
iter.hasNext(); )
{
element = (Element)iter.next();
key = element.getAttributeValue("href");
if ((key != null) &&
(key.length() > 0))
{
marks.put(key, key);
}
//Don't have to put anything into map just syso title would be enough
}
But I get exception saying :
java.lang.ClassCastException: com.sun.syndication.feed.synd.SyndEntryImpl cannot be cast to org.jdom.Element at com.emir.altantbh.FeedReader.main(FeedReader.java:47)
What did I do wrong? can anyone direct me towards better tutorial or show me where did I make mistake, I need to loop through entries and extract title tag value. thank you
SyndFeed.getEntries()
returns a List
of SyndEntryImpl
. You can not cast from SyndEntryImpl
to org.jdom.Element
.
You can iterate through all SyndEntry
as follows:
for (final Iterator iter = feed.getEntries().iterator();
iter.hasNext(); )
{
final SyndEntry entry = (SyndEntry) iter.next();
String title = entry.getTitle();
String uri = entry.getUri();
//...
}
com.sun.syndication.feed.synd.SyndEntry
com.sun.syndication.feed.synd.SyndFeed
java.util.List
You can also try this if you're using Java 5.0 and above:
for (SyndEntry entry : (List<SyndEntry>) feed.getEntries()) {
String title = entry.getTitle();
String uri = entry.getUri();
//...
}
There is unchecked cast here, but it should be safe based on the specification of getEntries()
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With