我将MediaEntryModule视为null。因此,我无法获取媒体内容,如图像,previewImage,视频,音频详细信息。
调试时发现SyndEntry中的Module实现正在使用以下内容:
DCModuleImpl.interface = interface com.sun.syndication.feed.module.DCModule DCModuleImpl.uri = http://purl.org/dc/elements/1.1/
MediaEntryModule mediaModule =(MediaEntryModule)entry.getModule(MediaEntryModule.URI); mediaModule将变为null。
java 6代码中使用的jar是。
罗马-1.0.jar 罗马模块-1.0.jar
答案 0 :(得分:0)
我找到了答案。 如果没有通过罗马API读取rss feed的唯一方法是。您需要获取该Feed消息的ulr,如下所示:
com.sun.syndication.feed.synd.SyndEntry entry = //get from RSS Url using rome api
String link=entry.getLink();
URL res = new URL(url);
Document doc = Jsoup.connect(url).get();
网址res =新网址(网址); 文档doc = Jsoup.connect(url).get();
URL res = new URL(url);
Document doc = Jsoup.connect(url).get();
Element head = doc.head();
Elements titleTags = head.getElementsByTag("title");
if (!titleTags.isEmpty()) {
title = titleTags.text();
} else {
Elements metaTitle = head.select("meta[property=og:title]");
title = metaTitle.attr("content");
if (metaTitle.isEmpty()) {
Elements metaTitle = head.select("meta[name=twitter:title]");
title = metaTitle.attr("content");
}
}
String description = "";
Elements metaDescription = head.select("meta[name=description]");
if (!metaDescription.isEmpty()) {
description = metaDescription.attr("content");
} else {
Elements metaDescription = head.select("meta[property=og:description]");
if (!metaDescriptionFacebook.isEmpty()) {
description = metaDescriptionFacebook.attr("content");
} else {
metaDescription = head.select("meta[name=twitter:description]");
description = metaDescription.attr("content");
}
}
return description;
String previewUrl = "";
Elements metaImage = head.select("link[rel=image_src]");
if (!metaImage.isEmpty()) {
previewUrl = metaImage.first().absUrl("href");
} else {
Elements metaImage= head.select("meta[property=og:image]");
if (!metaImageFacebook.isEmpty() && StringUtils.isNotBlank(metaImage.attr("content"))) {
previewUrl = metaImage.first().absUrl("content");
} else {
Elements metaImage = head.select("meta[name=twitter:image]");
if (!metaImage.isEmpty() && StringUtils.isNotBlank(metaImage.attr("content"))) {
previewUrl = metaImage.first().absUrl("content");
}
}
}
您可以从Doc元素中获取更多内容,如视频,音频等。