Android的解析HTML与jsoup [英] android parse html with jsoup

查看:204
本文介绍了Android的解析HTML与jsoup的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串的HTML这样的:

I have a String html like that:

> [CDATA[<div><b>index1:</b> <div
> class="ExternalClass4C236C53DAF34307B4580A8DA27FA373"><p>​</p>
> <div>value1</div> <div></div> <div>value2</div>
> <div></div> <div>value3 </div> <div></div> <div>value4
> </div> <div></div> <div>value5</div> </div></div>
> <div><b>index2:</b> value6</div> <div><b>index3:</b> value8</div>
> <div><b>index4:</b> valu7</div> <div><b>index5:</b>value10</div>

我使用jsoup。

I am using jsoup.

Document doc = Jsoup.parse(description);

元素EL = doc.get .......

Elements el=doc.get.......

我怎样才能获得价值字符串?

How can i get value strings?

推荐答案

我不知道这个简单的解决方案。您可以选择div elemets的内容。但是,你得到一些指标值这样,你不想。

I don't know a simple solution for this. You can select the contents of the div elemets. But you get some index value this way you dont want.

一硬codeD soulution是这样的:

One hardcoded soulution is like this:

public void testParseValue() {
    String html ="[CDATA[<div><b>index1:</b> <div" +
        "> class=\"ExternalClass4C236C53DAF34307B4580A8DA27FA373\"><p>​</p>" +
        "> <div>value1</div> <div></div> <div>value2</div>" +
        "> <div></div> <div>value3 </div> <div></div> <div>value4" +
        "> </div> <div></div> <div>value5</div> </div></div>" +
        "> <div><b>index2:</b> value6</div> <div><b>index3:</b> value8</div>" +
        "> <div><b>index4:</b> valu7</div> <div><b>index5:</b>value10</div>";

    Document doc = Jsoup.parse(html);

    Elements divs= doc.select("div");

    System.out.println(divs.get(2).text());
    System.out.println(divs.get(4).text());
    System.out.println(divs.get(6).text());
    System.out.println(divs.get(8).text());
    System.out.println(divs.get(10).text());
    System.out.println(divs.get(11).text().substring("index2: ".length()));
    System.out.println(divs.get(12).text().substring("index3: ".length()));
    System.out.println(divs.get(13).text().substring("index4: ".length()));
    System.out.println(divs.get(14).text().substring("index5:".length()));
}

这是用Java编写的,所以你可能要改变System.ou.println呼叫记录呼叫。
您也可以使用的位置:字符,而不是整个indexX:字符串

It is written in Java so you may want to change the System.ou.println call to log call. You may also use the position of ":" character instead of the whole indexX: strings.

这篇关于Android的解析HTML与jsoup的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆