Jsoup解析HTML表(替代计划)



首先,我是德国人,不要因为我糟糕的英语;)而讨厌我

我目前正在开发一个学校应用程序。我的问题是,我需要的信息在此页面上的HTML文件中。有没有办法将所有"td"标签保存在数组或字符串中?

网页代码:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="expires" content="0"><meta name="keywords" content="Stundenplan, timetable">
<meta name="GENERATOR" content="Untis 2015">
<title>Untis 2015  Stundenplan 2014/15  Dietrich-Bonhoeffer-Gymnasium  1</title>
<style type="text/css">
a {color:#000000;}
</style>
<link rel="stylesheet" href="../../untisinfo.css" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<CENTER><font size="3" face="Arial"  color="#000000">
<BR><div id="vertretung">
<a name="1">&nbsp;</a><br><b>20.4. Montag</b> | <a href="#2">[ Dienstag ]</a> | <a href="#3">[ Mittwoch ]</a> | <a href="#4">[ Donnerstag ]</a> | <a href="#5">[ Freitag ]</a><p>
<table class="subst" >
<tr><td align="center" colspan="7" >Vertretungen sind nicht freigegeben</td></tr>
</table>
<p>
<a name="2">&nbsp;</a><br><a href="#1">[ Montag ]</a> | <b>21.4. Dienstag</b> | <a href="#3">[ Mittwoch ]</a> | <a href="#4">[ Donnerstag ]</a> | <a href="#5">[ Freitag ]</a><p>
<table class="subst" >
<tr><td align="center" colspan="7" >Vertretungen sind nicht freigegeben</td></tr>
</table>
<p>
<a name="3">&nbsp;</a><br><a href="#1">[ Montag ]</a> | <a href="#2">[ Dienstag ]</a> | <b>22.4. Mittwoch</b> | <a href="#4">[ Donnerstag ]</a> | <a href="#5">[ Freitag ]</a><p>
<table border="3" rules="all" bgcolor="#F4F4F4" cellpadding="3" cellspacing="3">
<tr><th align="center" colspan="2">Nachrichten zum Tag</th></tr>
<tr><td colspan="2"><b>!!!   Klasse 12 3.-6. Std. "Zeitzeugen"  !!!</b>
<br><b>!!!   g3 (Sr) 3. Stunde Raum O07  !!!</b>
<br><b>!!!   g1 (Fe) und g2 (Hk) 3. Stunde Raum U05 !!!</b></td></tr>
</table>
<p>
<table class="subst" >
<tr class='list'><th class="list" align="center">Datum</th><th class="list" align="center">Stunde</th><th class="list" align="center">Klasse(n)</th><th class="list" align="center">(Fach)</th><th class="list" align="center">Fach</th><th class="list" align="center">Raum</th><th class="list" align="center">Vertretungs-Text</th></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">06d</td><td class="list" align="center">G</td><td class="list" align="center">G</td><td class="list" align="center">O04</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">5</td><td class="list" align="center">06d</td><td class="list" align="center">D</td><td class="list" align="center"><strike>D</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">3</td><td class="list" align="center">07a</td><td class="list" align="center">G</td><td class="list" align="center">M</td><td class="list" align="center">O05</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">4</td><td class="list" align="center">07a</td><td class="list" align="center">G</td><td class="list" align="center">M</td><td class="list" align="center">O05</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">1</td><td class="list" align="center">07a</td><td class="list" align="center">M</td><td class="list" align="center"><strike>M</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">2</td><td class="list" align="center">07a</td><td class="list" align="center">M</td><td class="list" align="center"><strike>M</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">3</td><td class="list" align="center">07c</td><td class="list" align="center">G</td><td class="list" align="center">Bio</td><td class="list" align="center">O08</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">4</td><td class="list" align="center">07c</td><td class="list" align="center">G</td><td class="list" align="center">Bio</td><td class="list" align="center">O08</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">5</td><td class="list" align="center">07c</td><td class="list" align="center">Bio</td><td class="list" align="center"><strike>Bio</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">6</td><td class="list" align="center">07c</td><td class="list" align="center">Bio</td><td class="list" align="center"><strike>Bio</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">08a</td><td class="list" align="center">NWT</td><td class="list" align="center">NWT</td><td class="list" align="center">U03</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">08a, 08c</td><td class="list" align="center">Sp</td><td class="list" align="center">Sp</td><td class="list" align="center">O09</td><td class="list" align="center">Aufgaben</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">09b</td><td class="list" align="center">M</td><td class="list" align="center">M</td><td class="list" align="center">O12</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">10b</td><td class="list" align="center">D</td><td class="list" align="center">D</td><td class="list" align="center">P201</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">5 - 6</td><td class="list" align="center">10c</td><td class="list" align="center">Ek</td><td class="list" align="center">Ek</td><td class="list" align="center">O06</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">22.4.</td><td class="list" align="center">5 - 6</td><td class="list" align="center">11</td><td class="list" align="center">E3</td><td class="list" align="center"><strike>E3</strike></td><td class="list" align="center">---</td><td class="list" align="center">Aufgaben holen</td></tr>
<tr class='list odd'><td class="list" align="center">22.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">11</td><td class="list" align="center">as1</td><td class="list" align="center">as1</td><td class="list" align="center">P118</td><td class="list" align="center">&nbsp;</td></tr>
</table>
<p>
<a name="4">&nbsp;</a><br><a href="#1">[ Montag ]</a> | <a href="#2">[ Dienstag ]</a> | <a href="#3">[ Mittwoch ]</a> | <b>23.4. Donnerstag</b> | <a href="#5">[ Freitag ]</a><p>
<table class="subst" >
<tr class='list'><th class="list" align="center">Datum</th><th class="list" align="center">Stunde</th><th class="list" align="center">Klasse(n)</th><th class="list" align="center">(Fach)</th><th class="list" align="center">Fach</th><th class="list" align="center">Raum</th><th class="list" align="center">Vertretungs-Text</th></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">5 - 6</td><td class="list" align="center">05a</td><td class="list" align="center">BK</td><td class="list" align="center"><strike>BK</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">05a</td><td class="list" align="center">M</td><td class="list" align="center">M</td><td class="list" align="center">E24</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">5</td><td class="list" align="center">06a, 06b</td><td class="list" align="center">evR</td><td class="list" align="center">evR</td><td class="list" align="center">O01</td><td class="list" align="center">Lernzirkel</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">6</td><td class="list" align="center">06a, 06b</td><td class="list" align="center">evR</td><td class="list" align="center">evR</td><td class="list" align="center">O01</td><td class="list" align="center">Lernzirkel</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">06d</td><td class="list" align="center">E</td><td class="list" align="center"><strike>E</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">07a, 07b, 07c</td><td class="list" align="center">kR</td><td class="list" align="center"><strike>kR</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">07b, 07c</td><td class="list" align="center">evR</td><td class="list" align="center"><strike>evR</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">5</td><td class="list" align="center">08a, 08c</td><td class="list" align="center">Sp</td><td class="list" align="center"><strike>Sp</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">6</td><td class="list" align="center">08a</td><td class="list" align="center">Sp</td><td class="list" align="center"><strike>Sp</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">09a</td><td class="list" align="center">E</td><td class="list" align="center"><strike>E</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">09a, 09b</td><td class="list" align="center">Sp</td><td class="list" align="center">Sp</td><td class="list" align="center">O12</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">10a, 10c, 10b</td><td class="list" align="center">kR</td><td class="list" align="center">kR</td><td class="list" align="center">O01</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">7 - 8</td><td class="list" align="center">10a</td><td class="list" align="center">M</td><td class="list" align="center"><strike>M</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">5</td><td class="list" align="center">10a</td><td class="list" align="center">E</td><td class="list" align="center">Ch</td><td class="list" align="center">&nbsp;</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">6</td><td class="list" align="center">10a</td><td class="list" align="center">E</td><td class="list" align="center">Ch</td><td class="list" align="center">&nbsp;</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">9</td><td class="list" align="center">10a</td><td class="list" align="center">Ch</td><td class="list" align="center"><strike>Ch</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">10</td><td class="list" align="center">10a</td><td class="list" align="center">Ch</td><td class="list" align="center"><strike>Ch</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">10c, 10b</td><td class="list" align="center">evR</td><td class="list" align="center">evR</td><td class="list" align="center">O15</td><td class="list" align="center">Aufgaben</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">7 - 8</td><td class="list" align="center">11</td><td class="list" align="center">bk3</td><td class="list" align="center"><strike>bk3</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">12</td><td class="list" align="center">s2</td><td class="list" align="center"><strike>s2</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">23.4.</td><td class="list" align="center">9 - 10</td><td class="list" align="center">12</td><td class="list" align="center">BK1</td><td class="list" align="center"><strike>BK1</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">23.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">12</td><td class="list" align="center">E3</td><td class="list" align="center"><strike>E3</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
</table>
<p>
<a name="5">&nbsp;</a><br><a href="#1">[ Montag ]</a> | <a href="#2">[ Dienstag ]</a> | <a href="#3">[ Mittwoch ]</a> | <a href="#4">[ Donnerstag ]</a> | <b>24.4. Freitag</b><p>
<table class="subst" >
<tr class='list'><th class="list" align="center">Datum</th><th class="list" align="center">Stunde</th><th class="list" align="center">Klasse(n)</th><th class="list" align="center">(Fach)</th><th class="list" align="center">Fach</th><th class="list" align="center">Raum</th><th class="list" align="center">Vertretungs-Text</th></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">05a</td><td class="list" align="center">E</td><td class="list" align="center">E</td><td class="list" align="center">E24</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">05b</td><td class="list" align="center">E</td><td class="list" align="center">E</td><td class="list" align="center">E23</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">06d</td><td class="list" align="center">F pt</td><td class="list" align="center">M</td><td class="list" align="center">O04</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">07b</td><td class="list" align="center">F</td><td class="list" align="center">F</td><td class="list" align="center">O06</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">07c</td><td class="list" align="center">M</td><td class="list" align="center"><strike>M</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">6</td><td class="list" align="center">08a</td><td class="list" align="center">E</td><td class="list" align="center"><strike>E</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">5</td><td class="list" align="center">09a</td><td class="list" align="center">E</td><td class="list" align="center">E</td><td class="list" align="center">O12</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">5</td><td class="list" align="center">10a</td><td class="list" align="center">F</td><td class="list" align="center">E</td><td class="list" align="center">O14</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">6</td><td class="list" align="center">10a</td><td class="list" align="center">E</td><td class="list" align="center"><strike>E</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">10a, 10c</td><td class="list" align="center">SW</td><td class="list" align="center">SW</td><td class="list" align="center">Spo</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">1 - 2</td><td class="list" align="center">10b</td><td class="list" align="center">NWT</td><td class="list" align="center"><strike>NWT</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">11</td><td class="list" align="center">D3</td><td class="list" align="center">M3</td><td class="list" align="center">O15</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">11</td><td class="list" align="center">E3</td><td class="list" align="center"><strike>E3</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">12</td><td class="list" align="center">D3</td><td class="list" align="center"><strike>D3</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">12</td><td class="list" align="center">D2</td><td class="list" align="center"><strike>D2</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list even'><td class="list" align="center">24.4.</td><td class="list" align="center">3 - 4</td><td class="list" align="center">12</td><td class="list" align="center">D1</td><td class="list" align="center"><strike>D1</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
<tr class='list odd'><td class="list" align="center">24.4.</td><td class="list" align="center">5 - 6</td><td class="list" align="center">12</td><td class="list" align="center">Ph1</td><td class="list" align="center"><strike>Ph1</strike></td><td class="list" align="center">---</td><td class="list" align="center">&nbsp;</td></tr>
</table>
<p>
</div></font></CENTER>
</body>
</html>

这是AsyncTask,当我单击按钮时执行:

    private class substitute extends AsyncTask<Void, Void, Void> {
    String monday;
    @Override
    protected Void doInBackground(Void... voids) {
        Document doc = null;
        try {
            doc = Jsoup.connect("http://www.dbg-filderstadt.de/fileadmin/dateien/Dokumente/w00000.htm").get();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Elements myElements = doc.getElementsByClass("subst")
                         .first().getElementsByTag("td");
        for(Element element : myElements){
            monday = element.ownText();
        }
            return null;
    }
    @Override
    protected void onPostExecute(Void result) {
        TextView tw1=(TextView)findViewById(R.id.textView1);
        tw1.setText(monday);
    }
}

关键是,这段代码只是给了我第一个表"subst"的文本。如何从其他表中获取元素?

将星期一设为数组

  String[] monday

和 取而代之的是

   Elements myElements = doc.getElementsByClass("subst")
                     .first().getElementsByTag("td");

写以下

   Elements myElements = doc.getElementsByTag("td");
   monday = new String[myElements.size()];

您将获得HTML页面中的所有TD标签,并且

最新更新