java—如何从标记检索数据< content:encoded>通过rss feed的cdata和jsoup for android?

vs91vp4v  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(408)

我想使用jsoup从rss提要检索数据。我可以在所有标签,但我不能这样做,当有content:encoded tag. 请任何人帮助我如何从content:encoded tag. 我的源url是https://sambad.in/feed/ 我的代码也是document=jsoup.parse(string.valueof(response));elements itemmelements=单据选择(“项目”);

for (int i = 0; i < itemElements.size(); i++) {

                Element item = itemElements.get(i);
                String title = item.child(0).text();
                String link=item.child(1).text();
                String imgUrl=extractImageUrl(item.select("description").text());
                String description = extractPostText(item.select("description").text())+"From Sambad: By Pin2";
                String fullnews=extractPostText(item.children().select("http://purl.org/rss/1.0/modules/content/encoded").text());
wa7juj8i

wa7juj8i1#

要使用的选择器将是 content|encoded . 要指定命名空间标记,请替换 : 用一个 | . 有关更多示例,请参阅jsoup选择器文档。
下面是try jsoup的一个示例。
需要注意的几点:
对于rss,应该使用xml解析器而不是(默认)解析器。如果使用jsoup.connect(url)加载内容,通常会自动发生这种情况,因为它会根据内容类型设置解析器。但是您正在绕过它(通过提供字符串输入),所以您需要手动指定它。
结果 content|encoded 选择器将是一组包含带有html标记的文本的元素(不是解析的html元素)。这是因为rss中的内容是html编码的(转义的)。如果您想将其作为经过解析的html,接下来应该对文本使用jsoup.parsebodyfragment(string)方法。

相关问题