作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试遍历 Atom 提要条目,并获取 title 属性,比方说,我找到了 this文章,我尝试了这段代码:
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
}
但我得到异常说:
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)
我做错了什么?任何人都可以指导我获得更好的教程或告诉我哪里出错了,我需要遍历条目并提取标题标签值。谢谢
最佳答案
SyndFeed.getEntries()
返回 SyndEntryImpl
的 List
。您不能从 SyndEntryImpl
转换为 org.jdom.Element
。
您可以按如下方式遍历所有 SyndEntry
:
for (final Iterator iter = feed.getEntries().iterator();
iter.hasNext(); )
{
final SyndEntry entry = (SyndEntry) iter.next();
String title = entry.getTitle();
String uri = entry.getUri();
//...
}
如果您使用的是 Java 5.0 及更高版本,您也可以试试这个:
for (SyndEntry entry : (List<SyndEntry>) feed.getEntries()) {
String title = entry.getTitle();
String uri = entry.getUri();
//...
}
这里有未经检查的转换,但根据getEntries()
的规范应该是安全的。
关于java - 使用 rome 遍历 feed 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825594/
我是一名优秀的程序员,十分优秀!