Java 使用rome循环浏览提要条目

Java 使用rome循环浏览提要条目,java,rome,Java,Rome,我正在尝试循环遍历Atom提要条目,并获取title属性,比如说,我找到了文章,我尝试了以下代码片段: for (final Iterator iter = feeds.getEntries.iterator(); iter.hasNext(); ) { element = (Element)iter.next(); key = element.getAttributeValue("href"); if ((key != null) &&

我正在尝试循环遍历Atom提要条目,并获取title属性,比如说,我找到了文章,我尝试了以下代码片段:

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.syndertryImpl 无法转换为位于的org.jdom.Element com.emir.altantbh.FeedReader.main(FeedReader.java:47)

我做错了什么?谁能告诉我更好的教程,或者告诉我哪里出错了,我需要循环浏览条目并提取标题标签值。谢谢

返回
syndertrympl
列表。您不能从
syndertrympl
强制转换为
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();
    //...
}
API链接

如果您使用的是Java 5.0及更高版本,也可以尝试以下方法:

for (SyndEntry entry : (List<SyndEntry>) feed.getEntries()) {
    String title = entry.getTitle();
    String uri = entry.getUri();
    //...
}
for(SyndEntry条目:(List)feed.getEntries()){
String title=entry.getTitle();
字符串uri=entry.getUri();
//...
}
这里有未经检查的强制转换,但根据
getEntries()
的规范,它应该是安全的

另见

很好,它可以工作,但我有一些自定义标签在里面,我如何获得这些标签?我有一个和另一个自定义标签,我如何得到这些?还有一件事,迭代器的哪种方法更好(您推荐哪种方法)generics@gandalf:选择不是迭代器与泛型,而是显式迭代器或隐式迭代器。对于每一个,只要适用,总是更好。@gandalf:至于如何获取内容,请转到我上面给出的API链接并四处看看。尝试
System.out.println(entry.getContents())和实验。我从未使用过罗马,我所知道的只是文档上的内容。