Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android jsoup选择表格单元格_Java_Android_Select_Jsoup - Fatal编程技术网

Java Android jsoup选择表格单元格

Java Android jsoup选择表格单元格,java,android,select,jsoup,Java,Android,Select,Jsoup,嗨,我想从一个网站上获取一些信息(http://omhc.nl/site/default.asp?Option=10017&m=1). 表格结构为: <tr> <td colspan="4" style="border-bottom: 1px solid rgb(0, 0, 0);" width="100%">donderdag 19 april 2012&nbsp;</td> </tr> <tr> <td

嗨,我想从一个网站上获取一些信息(http://omhc.nl/site/default.asp?Option=10017&m=1). 表格结构为:

<tr>
    <td colspan="4" style="border-bottom: 1px solid rgb(0, 0, 0);" width="100%">donderdag 19 april 2012&nbsp;</td>
</tr>
<tr>
    <td width="5%">&nbsp;</td>
    <td width="25%">17:00 - 22:00&nbsp;</td>
    <td bgcolor="" width="40%">KM</td>
    <td width="6%">Barhoofd&nbsp;</td>
</tr>
<tr>
    <td colspan="4" style="border-bottom: 1px solid rgb(0, 0, 0);" width="100%">vrijdag 20 april 2012&nbsp;</td>
</tr>
<tr>
    <td width="5%">&nbsp;</td>
    <td width="25%">16:30 - 19:30&nbsp;</td>
    <td bgcolor="" width="40%">Ouders/verzorgers van VL</td>
    <td width="6%">Bardienst&nbsp;</td>
</tr>
<tr>
    <td width="5%">&nbsp;</td>
    <td width="25%">16:30 - 19:30&nbsp;</td>
    <td bgcolor="" width="40%">Ouders/verzorgers van AvdN</td>
    <td width="6%">Bardienst&nbsp;</td>
</tr>
<tr>
    <td width="5%">&nbsp;</td>
    <td width="25%">16:30 - 21:00&nbsp;</td>
    <td bgcolor="" width="40%">EdK</td>
    <td width="6%">Barhoofd&nbsp;</td>
</tr>
<tr>
    <td width="5%">&nbsp;</td>
    <td width="25%">21:00 - 23:00&nbsp;</td>
    <td bgcolor="" width="40%">FK</td>
   <td width="6%">Barhoofd&nbsp;</td>
</tr>
<tr>
    <td width="5%">&nbsp;</td>
    <td width="25%">23:00 - 00:00&nbsp;</td>
    <td bgcolor="" width="40%">SW</td>
    <td width="6%">Barhoofd&nbsp;</td>
</tr>
我想在第[0]天得到:

donderdag 19 april 2012 + "\n" + 17:00 - 22:00 KM Barhoofd
第[1]天:

vrijdag 20 april 2012 + "\n" + 16:30 - 19:30  Ouders/verzorgers van VL Bardienst "\n" + 16:30 - 19:30 Ouders/verzorgers van AvdN Bardienst + "\n" + 16:30 - 21:00 EdK Barhoofd + "\n" + 21:00 - 23:00   FK Barhoofd + "\n" 23:00 - 00:00 SW Barhoofd

但我得到的只是每天17:00-22:00公里的巴胡夫[0]。如何选择正确的单元格(从第一个tr td[width:100%]到下一个tr td[width:100%])?

我稍微改变了一下您的方法getBarSchema,主要是您的选择器:

static protected List<String> getBarschema(String URL) throws Exception {

    Document document = Jsoup.connect(URL).get();

    // New Selector
    Elements dagen = document.select("div.content table tr td");

    // List better than array in this case
    List<String> dag = new ArrayList();   

    String line = "";
    for (Element dagen1 : dagen) {                              

        String width = dagen1.attr("width");      
        if(width.equals("100%") && !line.equals("")){
            dag.add(line);
            line ="";
        }    
        line += dagen1.text() + "\n";
    }        
    return dag;
}
静态保护列表getBarschema(字符串URL)引发异常{
Document Document=Jsoup.connect(URL.get();
//新选择器
Elements dagen=document.select(“div.content table tr td”);
//在这种情况下,列表优于数组
List dag=new ArrayList();
字符串行=”;
对于(元素dagen1:dagen){
字符串宽度=dagen1.attr(“宽度”);
如果(宽度等于(“100%”&&!行等于(“”)){
dag.add(行);
第“”行;
}    
行+=dagen1.text()+“\n”;
}        
返回dag;
}
static protected List<String> getBarschema(String URL) throws Exception {

    Document document = Jsoup.connect(URL).get();

    // New Selector
    Elements dagen = document.select("div.content table tr td");

    // List better than array in this case
    List<String> dag = new ArrayList();   

    String line = "";
    for (Element dagen1 : dagen) {                              

        String width = dagen1.attr("width");      
        if(width.equals("100%") && !line.equals("")){
            dag.add(line);
            line ="";
        }    
        line += dagen1.text() + "\n";
    }        
    return dag;
}