迭代HTML标记

时间:2014-08-31 15:45:24

标签: java android ion

我正在开发某种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是否包含原生解决方案。

我还想为图片添加花边下载,我找到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")) {
        // ...
    }
}

1 个答案:

答案 0 :(得分:0)

JSoup是解析HTML页面并从中检索数据的好方法。 Select()方法只接受一个css选择器,并返回符合该选择器的html元素。

这两个链接可以帮助您入门:

http://jsoup.org/cookbook/extracting-data/selector-syntax

http://jsoup.org/cookbook/extracting-data/dom-navigation

还有其他解析器,但我没有使用它们的经验。 JSoup被广泛采用并且非常易于使用。