我正在开发某种 RSS 应用程序:该应用程序下载 RSS 提要提供的内容并将其显示给用户。
帖子的内容具有 p、img 和 h2 等标签,我想(按顺序)迭代它们并创建 TextView 和 ImageView 取决于标签。
例如,我想显示以下 HTML 代码:
<body>
<h2>Some text</h2>
<img src="image1.jpg">
<p>A lot of text</p>
</body>
作为
<TextView />
<ImageView />
<TextView />
我认为Jsoup是一个选项,但我不确定如何使用它或者 Android 是否包含 native 解决方案。
我还想合并图像的花边下载,我找到了 Ion library ,但也许对我来说有更简单的解决方案
编辑:
正如 @Vogabe 所建议的,我正在使用 Jsoup 迭代标签。这是代码,也许有人会发现它有用
Document document = Jsoup.parse(htmlContent);
Elements elements = document.getAllElements();
for (Element element:elements) {
Tag tag = element.tag();
if (tag.getName().equalsIgnoreCase("p")) {
// ...
}
}
最佳答案
JSoup 是解析 HTML 页面并从中检索数据的良好解决方案。 Select()
方法仅接受 css 选择器,并将返回符合该选择器的 html 元素。
这 2 个链接应该可以帮助您入门:
http://jsoup.org/cookbook/extracting-data/selector-syntax
http://jsoup.org/cookbook/extracting-data/dom-navigation
还有其他解析器,但我没有使用它们的经验。 JSoup 被广泛采用并且非常易于使用。
关于java - 迭代 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25593631/