Я пытаюсь циклично выполниться посредством записей Atom-ленты, и получить атрибут заголовка позволяет, говорят, я нашел эту статью, я попробовал, это отрезало кода:
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 не может быть брошен к org.jdom. Элемент в com.emir.altantbh. FeedReader.main(FeedReader.java:47)
Что я делал неправильно? действительно ли кто-либо может направить меня к лучшему учебному руководству или показать мне, где я делал ошибку, я должен циклично выполниться посредством записей и значения тега заголовка извлечения.спасибо
SyndFeed.getEntries()
возвращает List
из SyndEntryImpl
. Вы не можете приводить из 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()
.