有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jsoup从html表中提取数据

我今天开始使用JSoup来用于安卓应用程序,所以我需要从这个表中提取数据,但从它看来,这将很困难。需要一些帮助;该表的html如下所示:

<TR BGCOLOR='#999999'>
      <TD ALIGN='left'><span class='S09W80'><font color=#DDDDDD>CODE</span></TD>
      <TD ALIGN='left'><span class='S09W80'><font color=#DDDDDD>SUBJECT NAME</span></TD>
      <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>PERIOD FROM</span></TD>
      <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>PERIOD TO</span></TD>
      <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>ENROL DATE</span></TD>
      <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>GRADE</span></TD>                
</TR>

然后是重复的

<TR BGCOLOR='#FFFFFF'>
  <TD ALIGN='left'><span class='S09W50'>IT142</span></TD>
  <TD ALIGN='left'><span class='S09W50'>INTRODUCTION TO GRAPHICS DEVELOPMENT</span></TD>
  <TD ALIGN='right'><span class='S09W50'>21-FEB-11</span></TD>
  <TD ALIGN='right'><span class='S09W50'>17-JUN-11</span></TD>
  <TD ALIGN='right'><span class='S09W50'>22-FEB-11</span></TD>
  <TD ALIGN='center'><span class='S09W80'>B-</span></TD>
</TR>

但是我该如何使用医生呢。选择(要使用什么选择器?);在这儿


共 (1) 个答案

  1. # 1 楼答案

    这不是一个真正的安卓问题,而是一个CSS选择器问题。你可以在http://www.w3.org/TR/CSS2/selector.html上阅读更多关于它的信息

    这样做屏幕抓取总是很棘手,而且没有“正确”的解决方案

    您需要执行多个选择步骤

    1. 像“body>;table>;tr”这样的选择器。以第一个元素为例。这将为您提供初始TR元素
    2. 验证TR元素,获取其子元素,并验证其中一个元素是否有文本“SUBJECT NAME”
    3. 然后,可以按顺序处理其他TR元素