如何使用Java中的ROME将内容作为String获取,以获取某些Feed。
目前这就是我得到的
String feedURL = “...”;
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));
System.out.println(feed);
for (final Iterator iter = feed.getModules().iterator(); iter.hasNext();){
System.out.println("\t" + ((Module)iter.next()).getUri());
}
System.out.println("Titles of the " + feed.getEntries().size() + " entries:");
for (final Iterator iter = feed.getEntries().iterator(); iter.hasNext();){
System.out.println("\t" + ((SyndEntry)iter.next()).getContents());
}
然后输出的是:
SyndContentImpl.interface=interface com.sun.syndication.feed.synd.SyndContent
SyndContentImpl.type=html
SyndContentImpl.mode=null
SyndContentImpl.value= <p><a href="http://www.flickr.com/people/64539367@N07/">MiscDot</a> posted a photo:</p>
<p><a href="http://www.flickr.com/photos/64539367@N07/5954881384/" title="03a"><img src="http://farm7.static.flickr.com/6024/5954881384_5390838321_m.jpg" width="240" height="240" alt="03a" /></a></p>
但我想要的是获取内容的字符串:
SyndContentsImpl.value
答案 0 :(得分:3)
像...一样的东西。
for (Iterator<?> entryIter = syndFeed.getEntries().iterator(); entryIter.hasNext();) {
SyndEntry syndEntry = (SyndEntry) entryIter.next();
if (syndEntry.getContents() != null) {
for (Iterator<?> it = syndEntry.getContents().iterator(); it.hasNext();) {
SyndContent syndContent = it.next();
if (syndContent != null) {
String value = syndContent.getValue();
}
}
}
}