Android使用Jsoup使用表格

时间:2013-10-13 11:23:54

标签: android html jsoup

嘿伙计我刚刚开始使用Jsoup而且桌子上有一个小问题。 我试图从这个网站解析汽车细节 http://mywheels.ie/car-history-check/free-car-check-results/?VRN=00c31865 但是真的不知道该怎么做。有人可以告诉我如何解决这个表并从中复制至少一个元素吗?提前谢谢

Elements table = doc.select("table");
Elements row = doc.select("table[width=\"100%\"] [cellspacing=\"0px\"] [cellpadding=\"0px\"]");
Iterator<Element> iterator = row.listIterator();
while(iterator.hasNext())
{
        Element element = iterator.next();
        String id = element.attr("id");
        String classes = element.attr("class");
        String value = element.text();
        System.out.println("Id : " + id + ", classes : " + classes+ ", value : " + value);
}

1 个答案:

答案 0 :(得分:1)

我可以建议你创建一个JAVA项目来测试Jsoup,因为它更快。 我完全重构了你的代码。我使用描述性变量名来更容易理解。这是代码:

    Document doc;
    try {
        doc = Jsoup.connect("http://mywheels.ie/car-history-check/free-car-check-results/?VRN=00c31865").get();

        Element containingDiv = doc.select(".free-vehicle-report-topDiv").first();
        Elements table = containingDiv.select("table");
        Elements rows = table.select("tr");

        for (Element row : rows) {
            System.out.println("label: "+row.child(0).text()+", value:"+row.child(1).text());
            // LOG.i("label: "+row.child(0).text()+", value:"+row.child(1).text());
        }


    } catch (IOException e) {
        e.printStackTrace();
    }

我在JAVA中测试过,在android中你可以注释掉Log.i方法调用而不是System.out.println。 这并不困难。祝你好运。