Jsoup Android获取信息

时间:2013-05-19 01:30:32

标签: android parsing jsoup

Hello Guys我一直有Jsoup的问题,我基本上试图从这个站点获取(解析)信息到我的应用程序 http://websemantics.co.uk/tutorials/accessibility_workshop/sessions/session2/03.data_tables/01.simple_data_tables/

我想将生物数学,科学等的部分字符串中的候选数字列取出,并将值解析并附加到字符串。我该怎么做,你能给出一个示例代码吗?

我对此的看法是:

//Get The Site and Parse it
Document doc = Jsoup.connect("http://websemantics.co.uk/tutorials/accessibility_workshop/sessions/session2/03.data_tables/01.simple_data_tables/").get();
//Select Table
 Element table = doc.select("table").first();
        Iterator<Element> iterator = table.select("td").iterator();
        while(iterator.hasNext()){
            System.out.println("text : "+iterator.next().text());
String Math = text();

我尝试了另一种方式,但没有给出任何东西

Element table = doc.select("table").first();
                 Iterator<Element> iterator = table.select("td").iterator();
                 while(iterator.hasNext()){
                    Element row1 = table.select( "td:eq(1)").first();
                    String rowno1 = row1.text(); 
                                               Element row2= table.select( "td:eq(1)").first();
                    String rowno2 = row2.text();

我不知道如何进一步解决这个问题,你能解释一下我做错了吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您需要,而不是,因此您应该获得第一个表的<tr>,而不是<td>

所以,改变你的代码:

table.select("td").iterator();

要:

table.select("tr").iterator();

就是这样!

工作示例(我还添加了一些内容来帮助您将主题分配给变量):

public static void main(String[] args) throws Exception {
    // Get The Site and Parse it
    Document doc = Jsoup.connect("http://websemantics.co.uk/tutorials/accessibility_workshop/sessions/session2/03.data_tables/01.simple_data_tables/").get();
    // Select Table
    Element table = doc.select("table").first();

    String math = "";
    Iterator<Element> lines = table.select("tr").iterator();
    while (lines.hasNext()) {
        Element line = lines.next();
        System.out.println("text : "+line.text());
        if (line.text().contains("Mathematics")) {
            math = line.text();
        }
    }

    System.out.println("MATH: "+math);
}

输出:

text : Subject Number of candidates A B C D E U
text : Totals 176 28 37 32 32 25 15
text : Mathematics 36 6 7 8 6 5 4
text : English 34 6 8 7 7 5 1
text : Chemistry 40 6 9 9 7 5 4
text : Physics 36 6 7 8 6 5 4
text : Biology 30 4 6 7 6 5 2
MATH: Mathematics 36 6 7 8 6 5 4