使用 Jsoup 解析表 html

Fel*_*oid 2 html java parsing json jsoup

我尝试解析这个表:

    <table border="1" align="center" cellpadding="5" width="95%">  
 <tbody> 
  <tr> 
   <td colspan="2" align="center"> <b> <i> Test </i> </b> </td> 
   <td> <b> <i> Result </i> </b> </td> 
   <td> <b> <i> Credit </i> </b> </td> 
   <td> <b> <i> Data </i> </b> </td> 
   <td> <b> <i> A/A </i> </b> </td> 
   <td> <b> <i> Other data </i> </b> </td> 
   <td> <b> <i> A/A rif. </i> </b> </td> 
  </tr> 
  <tr> 
   <td> A000211 </td> 
   <td nowrap=""> Physic </td> 
   <td align="center"> - </td> 
   <td align="center"> 6 </td> 
   <td align="center"> - </td> 
   <td align="center"> 2008/2009 </td> 
   <td> something </td> 
   <td align="center"> 2007/2008 </td> 
  </tr> 
  <tr> 
   <td> 0065057 </td> 
   <td nowrap=""> Math </td> 
   <td align="center"> - </td> 
   <td align="center"> 6 </td> 
   <td align="center"> - </td> 
   <td align="center"> 2008/2009 </td> 
   <td> samething </td> 
   <td align="center"> 2008/2009 </td> 
  </tr> 
  <tr> 
Run Code Online (Sandbox Code Playgroud)

在java中我现在有这个:

Document doc = Jsoup.parse(url);


Elements tables = doc.getElementsByTag("table");
Run Code Online (Sandbox Code Playgroud)

我尝试将此数据放入 JsonObject 我必须迭代此表吗?或者有一个简单的方法?

Fel*_*oid 5

我解决了:

Document doc = Jsoup.parse(url);
       JSONObject jsonObject = new JSONObject();
       JSONArray list = new JSONArray();
       Element rows = doc.getElementsByTag("table tr");

      for(Element row : rows) {
          String Test = row.getElementsByTag("td").get(1).text();
          String Result = row.getElementsByTag("td").get(2).text();
          String Credit = row.getElementsByTag("td").get(3).text();

          jsonObject.put("Test", Test); 
          jsonObject.put("Result", Result);
          jsonObject.put("Credit", Credit); 
      }
Run Code Online (Sandbox Code Playgroud)