迭代HTML标记
问题描述:
我正在开发某种RSS应用程序:应用程序下载由RSS源提供的内容并将其显示给用户。迭代HTML标记
帖子的内容有一个像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包括本地解决方案。
我也想合并对图像花边下载,我已经找到了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被广泛采用并且非常易于使用。